forEach VS map(JS)

Array.prototype.forEach()

forEach method是對陣列每個元素遍歷,只執行一次。

語法:
array.forEach(callback function(elemet, index, array) {
//doSomething
})

forEach 只執行array裡每個元素!如果你在func裡有return的話,它會dicarded,不會return 任何值。 不像map() 或者reduce() ,它总是返回 undefined值,并且不可链式调用。

Array.prototype.map()

map method 是對陣列每個元素遍歷,然後會創建新的陣列,並返回結果

語法:
array.map(callback function(element, index, array){
//doSomething
})

map 方法会给原陣列中的每个元素都按顺序调用一次 callback 函数。callback 每次执行后的返回值(包括 undefined)组合起来形成一个新陣列。它會return 新的陣列。

Using forEach() will not be useful if you want to permanently modify the original array. forEach() always returns undefined. However, creating a new array from an existing array is simple with the powerful map()method.

參考:

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.