js中 reduce 方法详细
时间: 2023-08-13 10:13:00 浏览: 217
reduce() 是 JavaScript 数组对象的一个高阶函数,它可以对数组中的每个元素依次执行回调函数,并返回一个最终的累计结果。
reduce() 方法有两个参数,第一个参数是回调函数,第二个参数是初始值。回调函数接收四个参数,分别是累计器 accumulator、当前值 currentValue、当前索引 index 和数组本身 array 。reduce() 方法的返回值是累计器的最终值。
回调函数中的 accumulator 参数就是当前的累计值,它的初始值可以通过第二个参数传入。currentValue 是数组中正在被处理的元素。index 是当前元素的索引号,而 array 则是被处理的数组本身。
reduce() 方法的使用场景很多,例如对数组求和、求平均值、去重等,都可以使用 reduce() 方法来实现。
下面是一个使用 reduce() 方法求和的例子:
```javascript
const arr = [1, 2, 3, 4];
const sum = arr.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 输出 10
```
在上述例子中,初始值为 0,累计器 accumulator 初始值为 0,currentValue 初始值为 1,通过回调函数返回 accumulator + currentValue 的值,即 0 + 1,然后将返回的值作为 accumulator 的值,currentValue 的值变为 2,再次执行回调函数,依次类推,最终得到数组中所有元素的和。
阅读全文