forEach()與map()都是ECMAScript5中遍歷的數組方法,它們在實際開發中會大量用到;那它們到底有着怎樣的區別呢?一塊兒來來看吧!javascript
forEach()
經過數組中的元素進行遍歷迭代;對數組中的每一個元素調用一次提供的回調函數.java
該回調函數接受三個參數:數組
let arr = [3, 6, 8, 9];
let res = arr.forEach((item, index) => {
return arr[index] = item * 2;
});
console.log(res); // undefined 注意:返回值是undefined
console.log(arr); // [6, 12, 16, 18] 注意:這裏的原數組已經發生改變
複製代碼
map()
依次爲數組中的每一個元素調用提供的回調函數,而後從結果中構造一個新數組.函數
該回調函數接受三個參數:ui
let arr = [1, 3, 6];
let res = arr.map((item) => {
return item * 3;
});
console.log(res); // [3, 9, 18]
console.log(arr); // [1, 3, 6] 注意:原數組未發生改變
複製代碼
主要區別:spa