当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript Array forEach()用法及代码示例


在本教程中,我们将借助示例了解 JavaScript Array forEach() 方法。

forEach() 方法为每个数组元素执行提供的函数。

示例

let numbers = [1, 3, 4, 9, 8];

// function to compute square of each number
function computeSquare(element) {
  console.log(element * element);
}

// compute square root of each element
numbers.forEach(computeSquare);

/* Output:
1
9 
16
81
64
*/

forEach() 语法

用法:

arr.forEach(callback(currentValue), thisArg)

这里,arr 是一个数组。

参数:

forEach() 方法包含:

  • callback- 在每个数组元素上执行的函数。它包含:
    • currentValue - 从数组传递的当前元素。
  • thisArg(可选)- 执行 callback 时用作 this 的值。默认情况下,它是 undefined

返回:

  • 返回 undefined

注意

  • forEach() 不会更改原始数组。
  • forEach() 按顺序为每个数组元素执行一次callback
  • forEach() 不对没有值的数组元素执行 callback

示例 1:打印数组的内容

function printElements(element, index) {
    console.log('Array Element ' + index + ': ' + element);
}

const prices = [1800, 2000, 3000, , 5000, 500, 8000];

// forEach does not execute for elements without values
// in this case, it skips the third element as it is empty
prices.forEach(printElements);

输出

Array Element 0: 1800
Array Element 1: 2000
Array Element 2: 3000
Array Element 4: 5000
Array Element 5: 500
Array Element 6: 8000

示例 2:使用 thisArg

function Counter() {
    this.count = 0;
    this.sum = 0;
    this.product = 1;
}

Counter.prototype.execute = function (array) {
    array.forEach((entry) => {
        this.sum += entry;
        ++this.count;
        this.product *= entry;
    }, this)
}

const obj = new Counter();
obj.execute([4, 1, , 45, 8]);

console.log(obj.count); // 4

console.log(obj.sum); // 58

console.log(obj.product); // 1440

输出

4
58
1440

在这里,我们可以再次看到forEach 跳过了空元素。 thisArgCounter 对象的execute 方法的定义中作为this 传递。

相关用法


注:本文由纯净天空筛选整理自 Javascript Array forEach()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。