目錄
相同點:
不同點:
相同點:
- 都是循環遍歷數組中的每一項(接收一個函數作為參數,并對每個數組元素執行一次)
- 每次執行匿名函數都支持三個參數:(三個參數分別為item(當前每一項),index(索引值), arr(原數組))
- 匿名函數中的this都是指向window
- 只能遍歷數組
不同點:
- 返回值不同:?forEach() 方法返回 undefined,而 map() 返回一個包含轉換后元素的新數組。map()會分配內存空間存儲新數組并返回,forEach()不會返回數據。
- forEach()允許callback更改原始數組的元素。map()返回新的數組。
- map() 是可鏈接的。這意味著你可以在對數組執行 map() 方法后附加reduce(),sort(),filter() 等,但是forEach() 不能,因為你可能猜到,它返回undefined?