首页 >web前端 >前端问答 >javascript中forEach()方法是干什么的

javascript中forEach()方法是干什么的

青灯夜游
青灯夜游原创
2021-10-09 16:35:372272浏览

在javascript中,forEach()方法用于为数组执行迭代操作,可以调用数组的每个元素,并将元素传递给回调函数进行处理;语法“array.forEach(function(Value,index,arr),thisValue)”。

javascript中forEach()方法是干什么的

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

Array 类型为每个数组定义了 forEach() 原型方法,使用该方法可以为数组执行迭代操作。

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

具体语法如下:

array.forEach(function(currentValue, index, arr), thisValue)

参数说明如下:

  • array:一个数组对象。

  • function(currentValue, index, arr):必需参数,最多可以接收三个参数的函数。forEach 将为数组中的每个元素调用 callbackfn 函数一次。

    • currentValue:必需。当前元素    

    • index:可选。当前元素的索引值。    

    • arr:可选。当前元素所属的数组对象。    

  • thisArg:可选参数,callbackfn 函数中的 this 可引用的对象。如果省略 thisArg,则 this 的值为 undefined。

对于数组中出现的每个元素,forEach 方法都会调用 callbackfn 函数一次,采用升序索引顺序,但不会为数组中空元素调用回调函数。

除了数组对象之外,forEach 方法还可以用于有 length 属性且具有已按数字编制索引的属性名的任何对象,如关联数组对象、Arguments 等。

forEach 方法不直接修改原始数组,但回调函数可能会修改它。在 forEach 方法启动后修改数组对象所获得的结果如表所示。

回调函数修改数组的影响
forEach 方法启动后的条件 元素是否传递给回调函数
在数组的原始长度之外添加元素
添加元素以填充数组中缺少的元素 是,如果该索引尚未传递给回调函数
元素已更改 是,如果该元素尚未传递给回调函数
从数组中删除元素 否,除非该元素已传递给回调函数

示例1:使用 forEach 迭代数组 a,然后把每个元素的值和下标索引输出显示,代码如下:

function f(value,index,array) {
    console.log("a[" + index + "] = " + value);
}
var a = ['a', 'b', 'c'];
a.forEach(f);

输出:

1.png

示例2:使用 forEach 迭代数组 a,然后计算数组元素的和并输出

var a = [10, 11, 12], sum = 0;
a.forEach (function (value) {
    sum += value;
});
console.log(sum);  //返回33

输出:

1.png

【推荐学习:javascript高级教程

以上是javascript中forEach()方法是干什么的的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn