📅  最后修改于: 2023-12-03 15:31:36.635000             🧑  作者: Mango
forEach()
方法是JavaScript中数组的一个迭代方法,它可以用于遍历数组中的每个元素,对数组中的每个元素执行指定的操作。
arr.forEach(callback(currentValue [, index [, array]])[, thisArg]);
callback
:必须,一个函数,用于执行数组中的每个元素。currentValue
: 必须,当前正在处理的元素。index
:可选,当前正在处理的元素的索引值。array
:可选,当前正在处理的元素所属的数组对象。thisArg
:可选,执行 callback
函数时的 this
值。undefined
。forEach()
不会返回任何值,它只是对数组中的每个元素执行指定的操作。
const arr = [1, 2, 3];
arr.forEach((element) => console.log(element));
// 输出:1 2 3
在这个例子中,forEach
方法对数组中的每个元素执行 console.log
操作,输出 1、2、3。
const arr = [1, 2, 3];
arr.forEach((element, index) => console.log(index + ':' + element));
// 输出:0:1 1:2 2:3
在这个例子中,forEach
方法还将索引值传递给 callback
函数,此时我们可以通过函数中的参数 index
来获取当前元素的索引值。
const arr = [1, 2, 3];
const obj = { name: 'Jack' };
arr.forEach(function(element) { console.log(this.name + ':' + element); }, obj);
// 输出:Jack:1 Jack:2 Jack:3
在这个例子中,forEach
方法还将 obj
对象传递给了 callback
函数,此时我们可以在 callback
函数中使用 this
来引用 obj
对象。
forEach()
方法无法在执行过程中修改原始数组。forEach()
不会访问已删除的元素。callback
函数中使用了 return
关键字,当前迭代会终止,但是不会影响其他元素的迭代。forEach()
方法不能正确地处理稀疏数组(即包含从未被赋值的元素的数组)。forEach()
方法是ECMAScript 5中引入的,不支持ECMAScript 3及以下版本的浏览器。