在处理数组时,遍历其元素并对其进行操作是很普遍的做法。传统上,这可以使用 for、while 或 do-while 循环来完成。 forEach 将为数组中的每个元素调用该函数。
用法:
array.forEach( callback, thisObject )
参数:该方法只接受上面提到和下面描述的两个参数:
- callback:这允许函数测试数组中的每个元素。
- thisObject:这将在执行回调函数时调用。
返回:它返回新创建的数组。
没有 forEach() 循环:第一行声明并初始化一个名为 array_1 的数字数组,其值为 [2, 3, 4, 5, 6]。为了将该数组的每个元素加倍,使用了一个 for 循环,该循环从零(因为数组的索引从零开始)运行到比数组的长度小 1。现在在第三行,从数组中提取每个元素并乘以 2,从而使值加倍。
方案一:
<script>
var array_1 = [2, 3, 4, 5, 6];
for(var i = 0; i < array_1.length; i++) {
array_1[i] *= 2;
}
document.write(array_1);
</script>
输出:
4, 6, 8, 10, 12
使用 forEach() 循环:在 ES6 中,为数组引入了一种更易于理解和使用的方法,即 forEach()。让我们看看它如何适用于上述相同的情况。
程序2:
<script>
var array_1 = [2, 3, 4, 5, 6];
array_1.forEach(function(number, i) {
array_1[i] *= 2;
});
document.write(array_1);
</script>
输出:
4, 6, 8, 10, 12
与前面一样,第一行声明并初始化了一个名为 array_1 的数字数组,其值为 [2, 3, 4, 5, 6]。然后在 array_1 上调用 forEach 方法,该方法迭代数组并将回调函数作为参数。现在回调函数接受三个参数,
- currentValue - 这是一个必需的参数,它对应于当前元素的值。
- index - 它是一个可选参数,这是当前元素的对应索引值。
- array - 它也是一个可选参数,这是原始数组,这里是 array_1。
因此,我们使用第二个参数 index 并遵循与之前完全相同的算法将值加倍。
程序3:这里我们只使用 currentValue 参数,使用它我们将名称数组中的每个值打印到控制台。
<script>
var names = ['Arpan', 'Abhishek', 'GeeksforGeeks'];
names.forEach(function(name){
document.write(name + "<br/>");
});
</script>
输出:
Arpan Abhishek GeeksforGeeks
相关用法
- JavaScript Array forEach()用法及代码示例
- Typescript Array forEach()用法及代码示例
- Java HashMap forEach(BiConsumer)用法及代码示例
- JavaScript Map forEach()用法及代码示例
- HTML DOM NodeList.forEach()用法及代码示例
- Lodash _.forEach()用法及代码示例
- ES6 Array filter()用法及代码示例
- Javascript typedArray.forEach()用法及代码示例
- AngularJS angular.forEach()用法及代码示例
- Node.js URLSearchParams.forEach()用法及代码示例
- Node.js forEach()用法及代码示例
注:本文由纯净天空筛选整理自arpancodes大神的英文原创作品 ES6 | Array forEach() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。