需要对集合的某些元素的值进行计算时,可以在计算属性中使用forEach方法
1.语法:集合.reduce ( ( 定义阶段性累加后的结果 , 定义遍历的每一项 ) => 定义每一项求和逻辑执行后的返回结果 , 定义起始值 )
2、简单使用场景:例如下面直接加数量得总数结果可以通过reduce统计出来
代码: myList.reduce ( ( zong ,item ) =>zong+item.num , 0 )
data: {xxxxxx
},
computed:{furitCount(){myList.reduce( ( zong ,item ) =>zong+item.num,0) }
}
3.复杂使用场景:
选择2个火龙果,再选中7个杨梅,未选中不加,总水果个数为9个
下面这个总数也可以通过reduce统计出来,注意每一项都需要加上条件过滤,如果这一项是选中,就累加,把之前算的sum加上每一项的数量返,否则表示这一项未选中,不累加,把之前算的sum返回即可:
data: {xxxxxx
},
computed:{totalCount(){return this.fruitList.reduce((sum,item)=>{if(item.isChecked===true){//这一项是选中,就累加,把之前算的sum加上每一项的数量返回return sum+item.num}else{//这一项未选中,不累加,把之前算的sum返回即可return sum}},0);}
}