arr. reduce方法理解

 [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);

  1. previousValue   第一次进回调时:值为initialValue或者数组的第一个值。 之后为上一次循环返回的值
  2. currentValue     数组当前索引下的值
  3. index               数组当前的索引
  4. array                调用reduce方法的数组。
  
 
原文地址:https://www.cnblogs.com/shinian007/p/5314356.html