`reduce()` 是 JavaScript 数组的一个高阶函数,用于对数组中的元素进行累积操作,并将最终结果返回。
它的语法如下:
```javascript
arr.reduce(callback[, initialValue])
```参数解释:
- `callback`:用于对数组中的元素进行处理的回调函数,它可以接收四个参数:
- `accumulator`:累计器,存储每次累积的结果。
- `currentValue`:当前正在处理的元素。
- `currentIndex` (可选):当前元素的索引。
- `array` (可选):原始数组。
- `initialValue` (可选):作为第一次调用回调函数时的初始值。示例 1:累加数组中的所有元素
```javascript
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((accumulator, currentValue) => accumulator + currentValue);
console.log(sum); // 15
```示例 2:求数组中的最大值
```javascript
const arr = [3, 9, 5, 1, 7];
const max = arr.reduce((accumulator, currentValue) => Math.max(accumulator, currentValue));
console.log(max); // 9
```在 `reduce()` 方法中,回调函数会被依次应用到数组中的每个元素,并且上一次回调的返回值会作为下一次回调的第一个参数传递进去。最后,`reduce()` 方法返回的是最后一次回调函数的返回值。
需要注意的是,如果没有提供 `initialValue` 参数,那么数组的第一个元素将作为初始值,然后从数组的第二个元素开始执行回调函数。如果数组为空且没有提供初始值,将会抛出 TypeError。因此,在使用 `reduce()` 方法时要注意处理边界情况
array.reduce()
于 2023-09-23 12:46:01 首次发布