map 與 foreach 的區別

2022-07-27 03:21:13 字數 799 閱讀 1564

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

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

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

4.只能遍歷陣列

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

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

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

1

var arr1 = [0,2,4,6,8];

2var newarr1 = arr1.foreach(function

(item,index,arr1),this);7

console.log(arr1);

8 console.log(newarr1);

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

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

1

var arr = [0,2,4,6,8];

2var newarr = arr.map(function

(item,index,arr),this

);7 console.log(newarr);

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

陣列 forEach 與map 的區別

1.map 方法 map定義和用法 瀏覽器支援 chrome safari opera都支援 ie 9版本 safari 1.5 語法 array.map function item,index,arr thisvalue 引數說明 item 當前元素的值 index 索引值 arr 原陣列 舉個小...

map 和forEach 的區別

對陣列進行迴圈,相當於直接for迴圈,沒有返回值,不能對它進行加工,只是單純的迴圈顯示return無效 item值,index索引,arr該陣列 一般沒用 arr.foreach item,index,arr 對陣列的每一項進行加工,加工完成之後返回乙個新的陣列 注意 map 不會對空陣列進行檢測。...

map和forEach的區別

map 返回其原始陣列的新陣列,但是 foreach 卻沒有。但是它們都確保了原始物件的不變性。1,2,3 map d d 1 2,3,4 1 2,3 foreach d d 1 undefined 如果更改陣列內的值,foreach 不能確保陣列的不變性。這個方法只有在你不接觸裡面的任何值時,才能...