Js 数组reduce()方法应用一个函数针对数组的两个值(从左到右),以减至一个值。
语法:array.reduce(callback[, initialValue])
参数说明:
1)callback是调用方法;
2)initialValue是callback初次调用时的第一个参数值。
示例1--数组求和:
[1,2,3,4,5].reduce((prev,next)=>{ return prev+next; })//返回值15
示例2--对象求和:
var ps = [{'p':1,'num':1},{'p':2,'num':2},{'p':3,'num':3},{'p':4,'num':4}]; ps.reduce((prev,next)=>{ return prev+next.p*next.num; },0)//回调函数的第一次调用时,第一个参数是0,第二个参数是ps[0]
示例3
let titles= titles:[ { title:"你的", content:"你的东西", url:"https://www.baidu.com", completed:false }, { title:"我的", content:"我的东西", url:"http://www.youku.com", completed:true }, { title:"他的", content:"他的东西", url:"http://sjzx.niha.org.cn", completed:true } ] let completeSize = this.titles.reduce((preTotal, title) => preTotal + (title.completed?1:0) ,0)