在 JavaScript 中使用回调函数和初始值积累一些值
问题
我们需要编写一个JavaScript函数,该函数接受一个数组、一个回调函数和一个初始值。
该函数应该在数组的迭代中累积一个值,并最终像数组一样返回该值。做。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