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)