reduce

Array.prototype.myReduce = function(fn,initValue){
    if(this.length == 0){
        throw new Error('Reduce of empty array with no initial value')
    }
    let i,total;
    if(initValue !== undefined){
        total = initValue
        i = 0;
    }else{
        total = this[0]
        i = 1;
    }
    for(;i < this.length;i++){
        let item = this[i]
        total = fn(total,item,i,this)
    }
    return total
}

有初始值,下表从0开始;无初始值,下标从1开始。

posted @ 2020-07-24 22:35  671_MrSix  阅读(87)  评论(0编辑  收藏  举报