前端大杂烩

实现 reduce

2022-05-13  本文已影响0人  lio_zero

重点:考虑是否有初始值

Array.prototype.myReduce = function (cb, initialValue) {
  var total = initialValue || this[0]
  var start = initialValue ? 0 : 1
  for (var i = start; i < this.length; i++) {
    total = cb(total, this[i], i, this)
  }
  return total
}

var arr = [1, 2, 3, 4, 5]
arr.myReduce((accumulator, elem) => accumulator+=elem) // 15
arr.myReduce((accumulator, elem) => accumulator+=elem , 100) // 115
上一篇 下一篇

猜你喜欢

热点阅读