js中数据格式转换算法

    let res = [
      { time: 2018, name: 'a', value: 3 },
      { time: 2018, name: 'c', value: 5 },
      { time: 2019, name: 'b', value: 6 },
      { time: 2020, name: 'b', value: 5 },
      { time: 2021, name: 'b', value: 4 },
      { time: 2022, name: 'b', value: 7.6 },
      { time: 2019, name: 'a', value: 6 },
      { time: 2020, name: 'a', value: 4 },
      { time: 2021, name: 'a', value: 5 },
    ]
    let VOs = []
    let keys = ['a', 'b', 'c']
    let j = 0;
    for (let i = 0; i < res.length; i++) {
      if (i == 0) {
        VOs.push({
          time: res[i]['time']
        })
        for (let i = 0; i < keys.length; i++) {
          VOs[j][keys[i]] = '';
        }
        VOs[j][res[i]['name']] = res[i]['value'];
      } else {
        if (res[i]['time'] == res[i - 1]['time']) {
          VOs[j][res[i]['name']] = res[i]['value'];
        }
        else {
          j++;
          VOs.push({
            time: res[i]['time']
          })
          for (let i = 0; i < keys.length; i++) {
            VOs[j][keys[i]] = '';
          }
          VOs[j][res[i]['name']] = res[i]['value'];
        }
      }

    }
    console.log(VOs)
    this.dv.source(VOs).transform({
      type: 'fold',
      fields: ['a', 'b', 'c'],
      key: 'index',
      value: 'temperature',
      callback(row) {

      }
    });
    this.data = this.dv.rows;

猜你喜欢

转载自www.cnblogs.com/pengzp/p/9335875.html
今日推荐