欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js手动实现 Reduce 方法

程序员文章站 2022-06-09 19:11:57
...
Array.prototype.myReduce = function (fn, initValue) {
  if (initValue === undefined && !this.length) {
     throw new Error('myReduce of empty array with no initial value');
   }
  // let result = initValue === undefined ? this[0] : initValue;不要这样写
  let result = initValue ? initValue : this[0];
   for (let i = initValue ? 0 : 1; i < this.length; i++) {
     result = fn(result, this[i], i, this);
   }
   return result;
};