arr.reduce((accumulator, currentValue, currentIndex, origin_array) => {
}, initValue)
- reduce接受两个参数,第一个为function,第二个为initValue,迭代类型取决于initValue;
- function接收四个参数,
- 第一个为accumulator,累加值,取值初始值为initValue,如果没有指定则为数组第一个元素
- 第二个为当前迭代value值,如果没有initValue,此时这里从index=1开始
- 第三个为当前迭代index值
- 第四个为原始数组 array
使用reduce 实现 map
Array.prototype.MyMap=function( fn ){
return this.reduce(function(result,curVal,curIndex,arr){
result.push(fn(curVal,curIndex));
return result;
},[])
}