1、语法
1arr.reduce(callback,[initialValue])
功能:为数组的每个元素执行回调函数;接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
参数:callback为回调函数 initialValue为第一次调用callback的第一个参数
其中callback函数接收四个参数:
代码语言:javascript复制 1、previousValue (上一次调用回调返回的值,或是提供的初始值(initialValue))
2、currentValue (数组中当前被处理的元素)
3、index (当前元素在数组中的索引)
4、array (调用 reduce 的数组)
举个栗子:
1let arr = [1, 2, 3, 4];
2let sum = arr.reduce((prev, cur, index, arr)=> {
3
console.log(prev, cur, index);
4
return prev cur;
5})//未设定初始值
6console.log(arr, sum);
输出结果为:
11
2
1
23
3
2
36
4
3
4[ 1, 2, 3, 4 ] 10
在未指定初始initialValue的时候,index是从1开始的,第一次的prev的值是数组的第一个元素,循环3次;
再举个栗子: