reduce()累加器
reduce()
方法对源数组的每个元素执行指定表达式。返回指定值特性:
1、reduce()不会改变源数组
2、reduce()返回累加后的最终值
语法:
arr.reduce(callback(accumulator,currentValue [, index [, array]])[, initailValue])
参数:
arr.filter()有三个参数,分别是:
1、arr:被遍历的数组
2、callback(accumulator,currentValue,index,array){句柄}:回调函数,该回调函数接受四个参数:
A、accumulator:累加器回调返回值
A、currentValue:遍历到的当前元素
B、index:为currentValue的索引
C、array:被遍历的数组
3、initailValue:accumulator初始值
示例:
let arr = [1, 2,3] let newArr=arr.reduce(function (accumulator, currentValue, index, ar) { console.log(accumulator);//遍历打印当前累加器的值0,1,3,6 console.log(currentValue);//遍历打印当前值1,2,3 console.log(index);//遍历打印当前索引0,1,2 console.log(ar);//遍历打印三次["a", "b", "c"] console.log(this)//String {"我就是this的值"};遍历打印三次 return accumulator+currentValue;//定义累加器表达式 }, 0)//定义累加器初始值,默认1 //输出 console.log(arr);//[1, 2,3] 未改变源数组 console.log(newArr);//6 返回累加器最终值