xiaokeqi / i-learned

1 stars 0 forks source link

JavaScript中的reduce #10

Open xiaokeqi opened 5 years ago

xiaokeqi commented 5 years ago

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终为一个值,是ES5中新增的又一个数组逐项处理方法,那reduce方法跟foreach、map等数组方法又有啥区别呢。

语法 arr.reduce(callback[, initialValue])

参数

只能累加么?当然不是,如下 传入初始值

var arr = [1,2,3];
console.log(arr.reduce(function(prev,current,currentindex,arr){
return prev+current;
}, 10))//16

求乘积 var pro = arr.reduce(function(pre,cur,index,arr){return pre * cur}) 求最大值 var max = a.reduce(function(pre,cur,inde,arr){return pre>cur?pre:cur;});