reduce()
作用:
接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。可以作为一个高阶函数,用于函数的 compose。
注意: reduce() 对于空数组是不会执行回调函数的。
语法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
参数说明:
参数1:function(total,currentValue, index,arr)
必需。用于执行每个数组元素的函数。函数参数:
- total 必需。初始值, 或者计算结束后的返回值。
- currentValue 必需。当前元素
- currentIndex 可选。当前元素的索引
- arr 可选。当前元素所属的数组对象。
参数2:initialValue
可选。传递给函数的初始值
实例
let age=[12,4,3,10];
function getSum(total,cur){
return total+cur
}
let a=age.reduce(getSum);
console.log(a);//输出结果是29
reduceRight()
作用:方法的功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加。
注意: reduce() 对于空数组是不会执行回调函数的。
语法
语法和reduce()方法一样
实例
let age=[12,4,3,10];
function getSum(total,cur){
return total+cur
}
let a=age.reduceRight(getSum);
console.log(a);//输出结果是29