js中reduce()方法使用
1. 名词解释
- reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
- 注意: reduce() 对于空数组是不会执行回调函数的
- 语法 :
array.reduce(function(data, currentValue, currentIndex, arr), initialValue)
data: 初始数组值,或是方法的结果值(必填)
currentValue:当前处理的数组值(必填)
currentIndex:当前数组值的索引(选填)
arr:当前元素所属的数组对象(选填)
initialValue:初始值(选填)
2. reduce使用
- 常用用途:可以计算数组和、最大最小值、去重等
let arr=[5,1,2,3,4,10,5,21]
2.1 计算数组和
let x=arr.reduce((total,cur)=>{
return total+cur;
},0)
console.log(x) // 51
第一次循环有初始值,total为初始值0, cur为第一个数组值5
第二次循环total为和5+0,cur为第二个数组值1
第三次循环total为5+1,cur为第三个数组值2
以此类推
2.2 最大最小值
let x = arr.reduce( (max, cur)=> {
return Math.max(max,cur);
})