首页 > 解决方案 > 将键、值 JSON 数组转换为表格 JSON 格式

问题描述

我有以下图表的 JSON 数据

var chartJson = [
    {
        header : '2016',
        values : [1, 5, 9]
    },
    {
        header : '2017',
        values : [2, 4, 8]
    },
    {
        header : '2018',
        values : [3, 1, 5]
    }
];

并且需要将其转换成这种格式来提供我的 HTML 表格

var tableJson = [
    {
        2016 : 1,
        2017 : 2,
        2018 : 3
    },
    {
        2016 : 5,
        2017 : 4,
        2018 : 1
    },
    {
        2016 : 9,
        2017 : 8,
        2018 : 5
    }
];

任何快速帮助将不胜感激将其转换为这种格式。我尝试使用此代码,但不知何故缺少逻辑。

let table = [];
    for(var row of chartJson ){
        for(var value of row.values)
        {
            table.push(
                {
                    column : row.header,
                    value : value
                });
        }
    }

标签: javascriptnode.jsjson

解决方案


var chartJson = [{
    header: '2016',
    values: [1, 5, 9]
  },
  {
    header: '2017',
    values: [2, 4, 8]
  },
  {
    header: '2018',
    values: [3, 1, 5]
  }
];

let table = [];
chartJson.forEach((row, index) => {
  row.values.forEach((val, j) => {
    table[j] = { ...table[j],
      [row.header]: val
    }
  });
});

console.log(table)


推荐阅读