Dalam es6, kaedah foreach() digunakan untuk melintasi tatasusunan, memanggil setiap elemen tatasusunan dan menghantar elemen itu kepada fungsi panggil balik untuk diproses, sintaks "array.forEach(function(currentValue, indeks,arr) ,Nilai ini)”.
Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.
Dalam es6, kaedah foreach() digunakan untuk melintasi tatasusunan, memanggil setiap elemen tatasusunan dan menghantar elemen itu kepada fungsi panggil balik untuk diproses. Arahan khusus adalah seperti berikut:
array.forEach(function(currentValue, index, arr), thisValue)
参数 | 描述 |
---|---|
function(currentValue, index, arr) | 必需。 数组中每个元素需要调用的函数。 函数参数:参数描述currentValue必需。当前元素index可选。当前元素的索引值。arr可选。当前元素所属的数组对象。 |
thisValue | 可选。传递给函数的值一般用 "this" 值。 如果这个参数为空, "undefined" 会传递给 "this" 值 |
Untuk setiap elemen yang muncul dalam tatasusunan, kaedah forEach akan memanggil fungsi callbackfn sekali, dalam susunan indeks menaik, tetapi tidak akan memanggil fungsi panggil balik untuk elemen kosong dalam tatasusunan.
Selain objek tatasusunan, kaedah forEach boleh digunakan pada mana-mana objek yang mempunyai sifat panjang dan mempunyai nama sifat yang diindeks secara berangka, seperti objek tatasusunan bersekutu, Argumen, dsb.
Kaedah forEach tidak mengubah suai tatasusunan asal secara langsung, tetapi fungsi panggil balik boleh mengubah suainya. Keputusan yang diperoleh dengan mengubah suai objek tatasusunan selepas kaedah forEach dimulakan adalah seperti yang ditunjukkan dalam jadual.
forEach 方法启动后的条件 | 元素是否传递给回调函数 |
---|---|
在数组的原始长度之外添加元素 | 否 |
添加元素以填充数组中缺少的元素 | 是,如果该索引尚未传递给回调函数 |
元素已更改 | 是,如果该元素尚未传递给回调函数 |
从数组中删除元素 | 否,除非该元素已传递给回调函数 |
Contoh 1
Contoh berikut menggunakan forEach untuk mengulang tatasusunan a, dan kemudian mengeluarkan dan memaparkan indeks nilai dan subskrip bagi setiap elemen adalah seperti berikut:
function f(value,index,array) { console.log("a[" + index + "] = " + value); } var a = ['a', 'b', 'c']; a.forEach(f);
Hasil demonstrasi adalah seperti berikut:
Contoh 2
The contoh berikut menggunakan forEach untuk mengulang tatasusunan a dan kemudian mengira Jumlah elemen tatasusunan dan output.
var a = [10, 11, 12], sum = 0; a.forEach (function (value) { sum += value; }); console.log(sum); //返回33
Contoh 3
Contoh berikut menunjukkan cara menggunakan parameter kedua kaedah forEach(), iaitu objek yang diluluskan ini bagi fungsi panggil balik . Apabila melelaran pada tatasusunan, nilai elemen tatasusunan dibaca dahulu dan kemudian nilainya ditimpa.
var obj = { f1 : function(value,index,array) { console.log("a[" + index + "] = " + value); arrar[index] = this.f2(value); }, f2 : function (x) {return x * x;} }; var a = [12, 26, 36]; a.forEach(obj.f1, obj); console.log(a); //返回[144, 676, 1296]
[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]
Atas ialah kandungan terperinci Cara menggunakan foreach() dalam es6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!