GUIDE深度 · Deep dive
map/filter/reduce 怎么读?
map 返回等长新数组,filter 返回子集,reduce 返回一个累积值。先看回调参数 (value, index, array),再看返回值;链式调用从左到右。
三个方法
map:每个元素映射一个新值。
filter:保留回调为真的元素。
reduce:用累加器合并成一个值。
链式
[1,2,3].map(x=>x*2).filter(x=>x>2) → [4,6]。
sort 会原地修改,slice 不会。
常见问题
map 会改原数组吗?
不会;返回新数组。
reduce 初始值重要吗?
重要;不传时第一项当初始值,空数组会报错。