位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript 使用forEach迭代数组

提问人:刘团圆发布时间:2020-11-25

■知识点

使用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]

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部