JavaScript 数组 forEach() 方法

 JavaScript 数组对象

forEach()方法按升序为每个数组元素执行一次提供的函数(回调函数)。

除了抛出异常外,没有其他方法可以停止或中断forEach()循环。

如果想提前终止,可以通过使用以下方式完成:

  • 一个简单的循环

  • for......of循环

语法:

array.forEach(callback, thisArg)
var fruits = ["Apple", "Mango", "Banana", "Orange"];
var result = document.getElementById("result");

fruits.forEach(function(element) {
    result.innerHTML += element + "<br>";
});
测试看看‹/›

浏览器兼容性

表中的数字指定了完全支持forEach()方法的第一个浏览器版本:

方法
forEach()1.59

参数值

参数描述
callback
为数组中的每个元素运行的函数。
函数参数:
  • currentValue(必填)-数组中正在处理的当前元素

  • index(可选)-数组中正在处理的当前元素的索引

  • array(可选)- 调用了forEach数组

thisArg(可选)执行回调时用作对象

技术细节

返回值:未定义
JavaScript版本:ECMAScript 5

更多示例

回调函数最多可以包含3个参数:

var fruits = ["Apple", "Mango", "Banana", "Orange"];
var result = document.getElementById("result");

fruits.forEach(function(element, index, array) {
    result.innerHTML += index + ": " + element + "<br>";
});
测试看看‹/›

获取数组中所有值的总和:

var nums = [2, 5, 10, 5, 10, 28];
var sum = 0;

nums.forEach(function(element) {
    sum += element;
});

document.getElementById("result").innerHTML = sum;
测试看看‹/›

获取数组中值的平均值:

var nums = [2, 5, 10, 5, 10, 28];
var sum = 0;

nums.forEach(function(element) {
    sum += element;
});

document.getElementById("result").innerHTML = sum / nums.length;
测试看看‹/›

将forEach循环转换为for循环:

var nums = [2, 5, 10, 5, 10, 28];
var sum = 0;

for (let i=0; i < nums.length; i++) {
    sum = sum + nums[i];
});

document.getElementById("result").innerHTML = sum;
测试看看‹/›

 JavaScript 数组对象