将后台的返回的格式,根据某个共同的字段分组

在echars 中根据后台给的13条数据,按照年份2019,2018,2017,2016.分数据在按月份规律排成一个数组。

步骤如下:

第三步

第四步,最终要的效果

最终展示

 console.log('能耗同期对比')
        console.log('第一步')
        console.log(this.mapEnerConsumComparData)
        var arr = this.mapEnerConsumComparData  //  得到的十三条数据
        var monthFlg = []
        var map = {}
        var dest = []
        for (var i = 0; i < arr.length; i++) {
          var ai = arr[i]
          if (!map[ai.monthFlg]) {
            dest.push({
              monthFlg: ai.monthFlg,    //根据月份分
              data: [ai]
            })
            map[ai.monthFlg] = ai
          } else {
            for (var j = 0; j < dest.length; j++) {
              var dj = dest[j]
              if (dj.monthFlg == ai.monthFlg) {
                dj.data.push(ai)
                break
              }
            }
          }
        }
        // console.log(dest)
        for (let i in dest) {
          monthFlg.push(`${dest[i].monthFlg}月`)
        }
        let serie = []
        for (let i in dest) {
          for (let j in  dest[i].data) {
//根据每条数据data  循环得到最终的数据
            var item = {
              show: dest[i].data[j].monthFlg,
              name: `${dest[i].data[j].yearFlg}年`,
              data: dest[i].data[j].totalConsumption
            }
            serie.push(item)
          }
        }
        // console.log('第三步')
        // console.log(serie)
        // console.log(monthFlg)
        var mapFun = {}
        var destFun = []
        for (var i = 0; i < serie.length; i++) {
          var ai = serie[i]
          if (!mapFun[ai.name]) {
            destFun.push({
              name: ai.name,
              type: 'bar',
              data: [ai.data]
            })
            mapFun[ai.name] = ai
          } else {
            for (var j = 0; j < destFun.length; j++) {
              var dj = destFun[j]
              if (dj.name == ai.name) {
                dj.data.push(ai.data)
                break
              }
            }
          }
        }
        // this.destFun = destFun
        // console.log('第四步')
        // console.log(destFun)
        // console.log(monthFlg)

猜你喜欢

转载自www.cnblogs.com/zhenga/p/11002764.html