js中 forEach 和 map 區別

2022-09-21 14:48:14 字數 628 閱讀 4832

、都是迴圈遍歷陣列中的每一項。

、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 ...