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


ES6 Array forEach()用法及代碼示例


在處理數組時,遍曆其元素並對其進行操作是很普遍的做法。傳統上,這可以使用 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



相關用法


注:本文由純淨天空篩選整理自arpancodes大神的英文原創作品 ES6 | Array forEach() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。