扁平化接口堆叠图chart数据接口转换

/**
* x抽 xAxisName
* legend is typeName
* {{value}} 指标
* 数据结构处理
 */
export default function getStackChartData(data: [], xAxisName: string, typeName: string, value: any) {
  let map = {} // 临时存放
  let destDatas: any[] = []
  let xAxisData: any[] = []
  data.forEach((ai, i) => {
    if (!xAxisData.includes(ai[xAxisName])) {
      xAxisData.push(ai[xAxisName])
    }
    if (!map[ai[typeName]]) {
      destDatas.push({
        name: ai[typeName],
        data: [(ai[value])]
      })
      map[ai[typeName]] = ai
    } else {
      for (let j = 0; j < destDatas.length; j++) {
        let dj = destDatas[j]
        if (dj.name === ai[typeName]) {
          dj.data.push((ai[value]))
          break
        }
      }
    }
  })
  // let dataSet = {
  //   xAxisData: xAxisData,
  //   destDatas: destDatas
  // }
  // return dataSet
  return { xAxisData, destDatas }
}

 

posted @ 2025-02-19 11:29  树叶铃铛  阅读(33)  评论(0)    收藏  举报