js 手动实现reduce
时间: 2023-11-09 14:03:22 浏览: 83
jre手动精减
5星 · 资源好评率100%
好的,以下是手动实现 reduce 的代码:
```javascript
function myReduce(arr, callback, initialValue) {
let accumulator = initialValue === undefined ? undefined : initialValue;
for (let i = 0; i < arr.length; i++) {
if (accumulator !== undefined) {
accumulator = callback.call(undefined, accumulator, arr[i], i, arr);
} else {
accumulator = arr[i];
}
}
return accumulator;
}
```
这个函数接受三个参数:要进行 reduce 操作的数组、回调函数和初始值(可选)。它会对数组中的每个元素依次调用回调函数,将回调函数的返回值作为累加器的值,并最终返回累加器的值。
例如,我们可以使用以下代码来计算数组 `[1, 2, 3, 4]` 中所有元素的和:
```javascript
const arr = [1, 2, 3, 4];
const sum = myReduce(arr, (accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 输出 10
```
阅读全文