JavaScript 使用forEach迭代数组
■知识点
使用forEach()方法可以为数组执行迭代操作。具体用法如下:
array.forEach(callbackfn[, thisArg])
参数说明如下。
callbackfn:必需参数,最多可以接受3个参数的函数。forEach将为数组中的每个元素调用 callbackfn 函数一次。
thisArg:可选参数,callbackfn函数中的this可引用的对象。如果省略thisArg,则this的值为undefined。
对于数组中出现的每个元素,forEachO方法都会调用callbackfn函数一次,采用升序索引顺序,但不会为数组中空元素调用回调函数。回调函数的语法如下:
function callbackfn(value, index, array)
最多可以使用3个参数来声明回调函数。回调函数的参数说明如下。
value:数组元素的值。
index:数组元素的数字索引。
array:包含该元素的数组对象。
■实例设计
【示例1】下面的示例使用forEach迭代数组a,然后把每个元素的值和下标索引输出显示。
function f(value, index, array) {
console.log ( "a[" + index + "] = " + value )
}
var a = ['a', 'b', ' c'];
a.forEach(f);
【示例2】下面的示例使用forEach迭代数组a,然后计算数组元素的和并输出。
var a = [10, 11, 12], sum = 0;
a.forEach(function(value){
sum += value;
});
console. log (sum) ; //返回33
【示例3】下面的示例演示如何使用foeEachO方法的第2个参数,该参数为回调函数的this传递对象。当迭代数组过程中,先读取数组元素的值,然后再改写它的值。
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]
点击加载更多评论>>