js原型重构reduce
时间: 2023-07-06 18:43:09 浏览: 38
JavaScript_用单元测试收集最常见的JS面试问题.zip
在 JavaScript 中,reduce() 是一个高阶函数,它接受一个回调函数作为参数,用于对数组中的每个元素进行操作并返回一个累加器的结果。在使用 reduce() 函数时,可以通过原型重构的方式来扩展其功能。
以下是一个示例代码:
```
Array.prototype.myReduce = function(callback, initialValue) {
let accumulator = initialValue === undefined ? undefined : initialValue;
for (let i = 0; i < this.length; i++) {
if (accumulator !== undefined) {
accumulator = callback.call(undefined, accumulator, this[i], i, this);
} else {
accumulator = this[i];
}
}
return accumulator;
}
```
在这个示例中,我们通过将 reduce() 函数添加到 Array 的原型中来扩展其功能。我们使用了类似于原始 reduce() 函数的实现方式,但是添加了一个新的参数 initialValue,用于设置初始累加器的值。
通过这种方式,我们可以像使用原始的 reduce() 函数一样使用自定义的 myReduce() 函数,并且可以将其用作数组的方法。
阅读全文