美文网首页
Array.prototype.reduce()

Array.prototype.reduce()

作者: Lnevan | 来源:发表于2021-07-18 00:16 被阅读0次
    Array.prototype.myReduce = function (callback, initValue) {
      if (Object.prototype.toString.call(callback) != "[object Function]") {
        throw new TypeError(callback + "is not a function!")
      }
      if (this == undefined) {
        throw new TypeError("this is null or not undefined!!")
      }
      let curentValue
      let sum = 0
      let index
      if(initValue) {
        sum = initValue
        index = 0
      } else {
        sum = this[0]
        index = 1
      }
      for(;index < this.length;index++) {
        curentValue = this[index]
        sum = callback(sum,curentValue,index,this)
      }
      return sum
    }
    let arr = [1,3,4,5,45,6,33]
    
    let sum = arr.myReduce((sum,item) => {
      return sum + item
    },0)
    
    console.log(sum) //97
    

    相关文章

      网友评论

          本文标题:Array.prototype.reduce()

          本文链接:https://www.haomeiwen.com/subject/wtggpltx.html