reduce()是一个高阶函数,它将一个回调函数作为参数,该回调函数接受四个参数:previousValue(上一个元素的值)、currentValue(当前元素的值)、currentIndex(当前元素的索引)和array(该数组)。
reduce()方法通过对数组中的每个元素应用回调函数来“累积”单个值。该累积值在每次调用回调函数时更新,并在最后一次调用后返回。
例子:
let arr = [1, 2, 3, 4];
let sum = arr.reduce((pre, cur, index, arr) => {
console.log(pre, cur, index, arr);
return pre + cur
}, 0)
console.log(sum); // 10
参数:
- prev: 必需(初始值, 或者计算结束后的返回值);
- cur: 必需(当前元素);
- index: 可选(当前元素的索引);
- arr:可选(当前元素所属的数组对象);
- init: 可选(传递给函数的初始值);