什麼是map, filter, reduce
這三個東西都是ES5推出的Array method,的可以對Array裡面的元素做一些操作。
map
- 會回傳一個新的array
- 在map裡面用callback function對每個element 逐一做操作後回傳
map不會影響到原先的array,也不必用for之類的迴圈去一個一個處理後存回去,更多資訊可以查看MDN
1 | const arr = [1,3,4,5]; |
filter
可以用來過濾不符合callback function判斷式的元素,也就是在callback function中需要return true or false來決定是否要保留這個元素。
這個也是會回傳一個新的array,查看MDN
1 | const arr = [1,3,4,5]; |
reduce
可以傳入一個acc,然後在callback function中會依次回傳acc和每個元素的一些操作,最後會回傳最終的value。
也就是每回合把acc和每個元素的值相加,最後就會回傳最終的value,而若是在reduce最後面一個參數帶上init value,就會被帶到acc當作初始值做累加。
參考 MDN
1 | const arr = [1,3,4,5]; |
item為arr中的每個元素,acc為reduce的第一個參數,假設想要把所有的值加起來,就可以用reduce來做,把每次值都累加到acc上,然後回傳最終值。
--- 到底拉 The End ---