ECMAScript之filter()和reduce()。

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

实战应用

  • 需求,求和以及过滤带软删除的字段。
// 项目数据
let data = [
  {removed:0,amount:100,id:0},
  {removed:1,amount:99,id:2},
  {removed:1,amount:100,id:3},
  {removed:0,amount:60,id:4}
]

// 过滤romoved = 1 的数据,

let newData = data.filter((key,index) => { return key.removed !== 1  })

// 求有效和:

let sumArr = newData.map((key,index) => { return key.amount })

let sum = sumArr .reduce((total,key) => { return total + key }) 

// 160

你可能感兴趣的:(ECMAScript之filter()和reduce()。)