Array.prototype.reduce(callback(){}, initiaValue)

Array.prototype.reduce()

Array.prototype.reduce()是数组的一个公共方法,其功能是给数组中每个元素进行callback回调,callback函数中接受四个参数:

  1. accumulator:累计器
  2. currentValue:当前值
  3. currentIndex:当前索引
  4. array:数组

每个参数的作用

1.参数的位置:callback(accumulator, currentValue, currentIndex, array);
2.例子:

const reducer = (accumulator, currentValue) => accumulator + currentValue; 
[1,2,3,4].reduce( reducer );
//1+2+3+4
//expect export 10
[1,2,3,4].reduce( reducer , 5 );
//5+1+2+3+4
//expect export 15

剖析:
accumulator即是一个初始值,也是一个累计器,如若在reduce中没有传initiaValue,则accumulator的值为数组中的第一个值,currentValue的值为数组中的第二个值,若reduce中传了initiaValue,则accumulator的值为initiaValue,currentValue的值为数组中的第一个值,而每次callback调用后的返回结果返回到accumulator上,currentValue的值在下一次callback回调时就是上一个currentValue在数组里之后的值,最后返回accumulator。

你可能感兴趣的:(Array.prototype.reduce(callback(){}, initiaValue))