1. 要实现的功能
有如下数据,计算state为true的水果的总价。
总价 = 10 * 1 + 5 * 1 = 15。
2. 使用forEach方法实现
const arr = [
{ id: 1, name: "草莓", state: false, price: 18, count: 2 },
{ id: 2, name: "苹果", state: true, price: 10, count: 1 },
{ id: 3, name: "西瓜", state: true, price: 5, count: 1 },
{ id: 4, name: '哈密瓜', state: false, price: 8, count: 1}
];
let result = 0;
arr.filter((item) => item.state).forEach((item) => {
result += item.price * item.count;
});
console.log(result);
结果:
3. 使用reduce方法
const res = arr.filter((item)=>item.state).reduce((res, item)=>{
return res += item.price * item.count;
},0)
console.log(res);
结果: