當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。