在echars 中根據後臺給的13條數據,按照年份2019,2018,2017,2016.分數據在按月份規律排成一個數組。數組
步驟以下:this
第三步spa
第四步,最終要的效果code
最終展現blog
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)