let arr = [1, 2, 2, 4];
Array.prototype.reduce1 = function(callback,initial){
let preSum = initial?initial:this[0];
for(let i= initial?0:1; i<this.length;i++){
preSum = callback(preSum,this[i],initial?i:i-1,this)
}
return preSum;
}
//
let a = [].reduce1((accumulator,currentValue,index,array)=>{
console.log(index)
console.log(array)
return accumulator + currentValue
},1);
console.log(a)