每4行推入一行合计(后台无返回合计行)

// 有行合并头不建议使用该方法

     getYsXjSum() {

      var tableList = this.tableList;

      let res= [];

      let len = tableList.length-1

      //每4行再推入一行

      for(let i=0;i<len;i=i+4){

        if(i+4<len){

           res.push(tableList.slice(i,i+4));

         }else{

          res.push(tableList.slice(i));

}

}

      //推入后打印效果

      console.log('the old array is',res);

      // 每小列合计

      res.forEach( (item)=>{

        let total= {}

         for (let key of Object.keys(item[0])) {

         //total[key] = item.reduce((Sum, ele) => {

         //console.log('ele----------',ele, 'key-------------',ele[key])

         //return Sum + ele[key]

          total[key] = item.reduce((Sum, ele) =>{

            console.log('ele----------',ele, 'key-------------',ele[key])

            // parseFloat(ele[key]) !== NaN

            let num = 0

            if (!isNaN(parseFloat(ele[key]))) {num = parseFloat(ele[key])}

              return Sum + num

});

      //  });

      //   total[key] = item.reduce((Sum, ele) => (Sum +(ele[key] || 0)), 0)

}

      //  item.push(total)

      // })

       let result = [].concat(...res);

       this.tableList=result

       console.log('result:',result)

})

}

简写不为对象:

total[key]

= item.reduce((Sum, ele) => {

   let num = 0

   if (parserFloat(ele[key]) !== NaN) {num =parserFloat(ele[key])}

   return Sum + num

  }, 0);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容