reduce 是js数组的一个方法,为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素。
arr.reduce(function(prev, cur, index, arr){
...
}, init)
- arr 表示原数组
- prev 表示上一次调用回调时的返回值,或者初始值 init
- cur 表示当前正在处理的数组元素
- index 表示当前正在处理的数组元素的索引,若提供init值,则索引为0,否则索引为1
- init 表示初始值
示例:求和
第一次调用函数时,如果没有init 那么pre代表数组的第一项,cur代表数组的第二项;当这个函数在第二次执行时,pre则是上一次调用回调时返回的值。
(当有init值时,则pre代表初始值,cur代表数组的第一项。)
示例:计算数组中每个元素出现的次数
示例:数组扁平化处理
示例:数组去重