、都是迴圈遍歷陣列中的每一項。
、foreach()和map()裡面每一次執行匿名函式都支援3個引數:陣列中的當前項item,當前項的索引index,原始陣列input。
、匿名函式中的this都是指window。
、只能遍歷陣列。
1.foreach():
沒有返回值,即返回值為undefined
理論上這個方法是沒有返回值的,僅僅是遍歷陣列中的每一項,不對原來陣列進行修改;但是可以自己通過陣列的索引來修改原來的陣列,或當陣列項為物件時修改物件中的值;
2.map():
有返回值,可以return 出來。
區別:map的**函式中支援
return
返回值;
return
的是啥,相當於把陣列中的這一項變為啥(並不影響原來的陣列,只是相當於把原陣列轉殖乙份,把轉殖的這乙份的陣列中的對應項改變了);
1、foreach()返回值是undefined,不可以鏈式呼叫。
2、map()返回乙個新陣列,原陣列不會改變。
參考:
JS中Map和ForEach的區別
foreach 方法 針對每乙個元素執行提供的函式。map 方法 建立乙個新的陣列,其中每乙個元素由呼叫陣列中的每乙個元素執行提供的函式得來。區別foreach 方法不會返回執行結果,而是undefined。也就是說,foreach 會修改原來的陣列。而map 方法會得到乙個新的陣列並返回。例子製作...
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中的forEach和map的區別
我們先來看兩者之間的相同之處 var arr a b c d arr.foreach function item,index,arr 123 這裡的123引數,表示函式中的this指向,可寫可不寫,如果不寫,則this指向window arr.map function item,index,arr ...