Array.prototype.reduce()
Array.prototype.reduce()是数组的一个公共方法,其功能是给数组中每个元素进行callback回调,callback函数中接受四个参数:
- accumulator:累计器
- currentValue:当前值
- currentIndex:当前索引
- 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。
网友评论