js map 和forEach 的區別

2021-10-25 10:40:29 字數 926 閱讀 4701

一、相同點:

1.都是迴圈遍歷陣列中的每一項

2.每次執行匿名函式都支援三個引數,引數分別為item(當前每一項),index(索引值),arr(原陣列)

3.匿名函式中的this都是指向window

4.只能遍歷陣列

二、不同點

1.map()會分配記憶體空間儲存新陣列並返回,foreach()不會返回資料。

2.foreach()允許callback更改原始陣列的元素。map()返回新的陣列。

1、foreach()

foreach()針對每乙個元素執行提供的函式,對資料的操作會改變原陣列。

var arr1 =[0

,2,4

,6,8

];var newarr1 = arr1.

foreach

(function

(item,index,arr1)

,this);

console.

log(arr1)

;console.

log(newarr1)

;

使用場景:並不打算改變資料的時候,而只是想用資料做一些事情 ,比如存入資料庫或則列印出來。

二、map

map()不會改變原陣列的值,返回乙個新陣列,新陣列中的值為原陣列呼叫函式處理之後的值;

var arr =[0

,2,4

,6,8

];var newarr = arr.

map(

function

(item,index,arr)

,this);

console.

log(newarr)

;

使用場景:map()適用於你要改變資料值的時候。不僅僅在於它更快,而且返回乙個新的陣列。

js map 與forEach 的用法與區別

foreach 和map 都是用來遍歷陣列,二者的區別為 foreach 會修改原來的陣列,而map 方法會得到乙個新的陣列並返回,不會修改原來的陣列 二者的執行速度方面,經過jsperf 乙個很好的表不同函式的執行速度的 方法比foreach 方法快了70 當然不同的瀏覽器的執行結果也可能會不一樣...

forEach和map和filter的區別總結

最大的區別 foreach不會反悔新的陣列,而是在原陣列的基礎上改變陣列,可以用於陣列的修改 ag var arr new array arr 1,2,3,4,5,6 arr.foreach item,index,a console.log item,index,a 子元素,索引,原陣列 arr i...

JS Map 和 List 的簡單實現。

map物件,實現map功能 介面 size 獲取map元素個數 isempty 判斷map是否為空 clear 刪除map所有元素 put key,value 向map中增加元素 key,value remove key 刪除指定key的元素,成功返回true,失敗返回false get key 獲...