在處理數組時,遍曆其元素並對其進行操作是很普遍的做法。傳統上,這可以使用 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。