JavaScript 使用forEach迭代數(shù)組
■知識(shí)點(diǎn)
使用forEach()方法可以為數(shù)組執(zhí)行迭代操作。具體用法如下:
array.forEach(callbackfn[, thisArg])
參數(shù)說明如下。
callbackfn:必需參數(shù),最多可以接受3個(gè)參數(shù)的函數(shù)。forEach將為數(shù)組中的每個(gè)元素調(diào)用 callbackfn 函數(shù)一次。
thisArg:可選參數(shù),callbackfn函數(shù)中的this可引用的對(duì)象。如果省略thisArg,則this的值為undefined。
對(duì)于數(shù)組中出現(xiàn)的每個(gè)元素,forEachO方法都會(huì)調(diào)用callbackfn函數(shù)一次,采用升序索引順序,但不會(huì)為數(shù)組中空元素調(diào)用回調(diào)函數(shù)?;卣{(diào)函數(shù)的語法如下:
function callbackfn(value, index, array)
最多可以使用3個(gè)參數(shù)來聲明回調(diào)函數(shù)?;卣{(diào)函數(shù)的參數(shù)說明如下。
value:數(shù)組元素的值。
index:數(shù)組元素的數(shù)字索引。
array:包含該元素的數(shù)組對(duì)象。
■實(shí)例設(shè)計(jì)
【示例1】下面的示例使用forEach迭代數(shù)組a,然后把每個(gè)元素的值和下標(biāo)索引輸出顯示。
function f(value, index, array) {
console.log ( "a[" + index + "] = " + value )
}
var a = ['a', 'b', ' c'];
a.forEach(f);
【示例2】下面的示例使用forEach迭代數(shù)組a,然后計(jì)算數(shù)組元素的和并輸出。
var a = [10, 11, 12], sum = 0;
a.forEach(function(value){
sum += value;
});
console. log (sum) ; //返回33
【示例3】下面的示例演示如何使用foeEachO方法的第2個(gè)參數(shù),該參數(shù)為回調(diào)函數(shù)的this傳遞對(duì)象。當(dāng)?shù)鷶?shù)組過程中,先讀取數(shù)組元素的值,然后再改寫它的值。
var obj = {
fl: function(value, index, array)(
console.log( "a[" + index + "] = " + value );
array[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]
點(diǎn)擊加載更多評(píng)論>>