array.reduce(function(total, currentValue, currentIndex, arr){}, initialValue);
total 必需。初始值, 或者计算结束后的返回值。
currentValue 必需。当前元素
currentIndex 可选。当前元素的索引
arr 可选。当前元素所属的数组对象。
initialValue可选。传递给函数的初始值
array.map(function(currentValue,index,arr), thisArg);
currentValue 必须。当前元素的值
index 可选。当前元素的索引值
arr 可选。当前元素属于的数组对象
thisArg 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。如果省略了 thisArg,或者传入 null、undefined,那么回调函数的 this 为全局对象。
Array.prototype._map = function(callback,thisVal){
let resArr = [];
resArr = this.reduce((pre,cur,curIndex,arr)=>{
pre.push(callback.call(thisVal,cur,curIndex,arr))
return pre;
},[])
return resArr;
}