定义
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
reduce() 可以作为一个高阶函数,用于函数的 compose。
注意: reduce() 对于空数组是不会执行回调函数的。
浏览器支持
表格中的数字表示支持该方法的第一个浏览器版本号。
方法 | |||||
---|---|---|---|---|---|
reduce() | Yes | 9.0 | 3.0 | 4 | 10.5 |
语法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
参数 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function(total,currentValue, index,arr) | 必需。用于执行每个数组元素的函数。 函数参数:
| ||||||||||
initialValue | 可选。传递给函数的初始值 |
例子
const arr = [5,10]
const s = arr.reduce((sum,item)=>sum+item)
console.log(s) //15
四舍五入后计算总和
const nums = [10,12,13.5,14]
const getSum = (total,item)=>{return total+Math.round(item)}
const myFun = nums.reduce(getSum,0)
console.log(myFun) //50