[0, 1, 2, 3].reduce(function(a, b, index, arr) { console.log(a, b); return a + b; }, 10); // 测试时发现,如果传initialValue值10,则会多执行一次。
参数:
arr.reduce(callback, [initialValue]);
//reduce方法接收一个回调(累加器),从左到右依次遍历item,直至缩减到最后一个值。
//initialValue 可选,作为第一次执行回调函数的第一个参数previousValue
callback(previousValue, currentValue, index, array);
- previousValue 第一次进回调时:值为initialValue或者数组的第一个值。 之后为上一次循环返回的值
- currentValue 数组当前索引下的值
- index 数组当前的索引
- array 调用reduce方法的数组。