使用回调函数和 JavaScript 中的初始值累加一些值


问题

我们需要编写一个 JavaScript 函数,它接收一个数组、一个回调函数和一个初始值。

该函数应在数组的迭代中累加一个值,最终返回该值,就像 Array.prototype.reduce() 所做的那样。

示例

代码如下 −

 演示

const arr = [1, 2, 3, 4, 5];
const sum = (a, b) => a + b;
Array.prototype.customReduce = function(callback, initial){
   if(!initial){
      initial = this[0];
   };
   let res = initial;
   for(let i = initial === this[0] ? 1 : 0; i < this.length; i++){
      res = callback(res, this[i]);
   };
   return res;
};
console.log(arr.customReduce(sum, 0));

输出

控制台输出如下 −

15

更新于: 17-04-2021

175 次浏览

启动 职业生涯

完成课程,获取认证

开始
广告