编辑代码

Array.prototype.myreduce = function(callback,initialValue){
    let arr = Array.prototype.slice.call(this)
    let res = initialValue?initialValue:arr[0]
    let startIndex = initialValue?0:1;
    for(let i=startIndex;i<arr.length;i++){
        res = callback.call(null,res,arr[i],i,this)   
    }
    return res
}

let a = [1,2,3,4]
console.log(a.myreduce((a,b)=>a+b,3))