自学内容网 自学内容网

vue使用List.reduce实现统计

需要对集合的某些元素的值进行计算时,可以在计算属性中使用forEach方法

1.语法:集合.reduce   (  定义阶段性累加后的结果 , 定义遍历的每一项 ) => 定义每一项求和逻辑执行后的返回结果 , 定义起始值  )  

2、简单使用场景:例如下面直接加数量得总数结果可以通过reduce统计出来

代码:   myList.reduce  (  zong ,item   ) =>zong+item.num , 0   )  

data: {
    xxx
    xxx
},
computed:{
    furitCount(){
         myList.reduce( ( zong ,item ) =>zong+item.num,0)  
    }
}

3.复杂使用场景:

选择2个火龙果,再选中7个杨梅,未选中不加,总水果个数为9个 

下面这个总数也可以通过reduce统计出来,注意每一项都需要加上条件过滤,如果这一项是选中,就累加,把之前算的sum加上每一项的数量返,否则表示这一项未选中,不累加,把之前算的sum返回即可:

data: {
    xxx
    xxx
},
computed:{
    totalCount(){
        return this.fruitList.reduce((sum,item)=>{
              if(item.isChecked===true){//这一项是选中,就累加,把之前算的sum加上每一项的数量返回
                return sum+item.num
              }else{//这一项未选中,不累加,把之前算的sum返回即可
                return sum
              }
        },0);
    }
}


原文地址:https://blog.csdn.net/SSHLY3/article/details/143819852

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!