js将数组内拥有一个相同属性的对象的其他属性相加

img


直接上图 这是需求图 这个table大家应该都知道是根据一个数组渲染出来的 用的是iview 现在需要把前两个以及后面添加的名称相同的数据对象中的后面几个字段对应相加算出每个的总和 这个该怎么做?求支招。

拿到数据写个模板字符串

这种情况,然后后台接口中加一个总计的参数不就行了,何必放到前台做呢

遍历 数据 做个 相加 呗

 let arr=[
        {
            name:"谷雨科技有限公司",
            red:1,
            orange:0,
            yellow:5,
            blue:3
        },
        {
            name:"莉莉科技有限公司",
            red:1,
            orange:9,
            yellow:0,
            blue:6
        }
    ];
    
    let z_red=0;
    let z_orange=0;
    let z_yellow=0;
    let z_blue=0;
    arr.map((item)=>{
        item.zCount=0; // 合计 
        item.zCount+=Number(item.red)+
        Number(item.orange)+Number(item.yellow)
        +Number(item.blue);
        //计算所有 相同颜色的个数
        z_red+=Number(item.red);
        z_orange+=Number(item.orange);
        z_yellow+=Number(item.yellow);
        z_blue+=Number(item.blue);
    });
    console.log(arr,z_red,z_orange,z_yellow,z_blue)