【发布时间】:2021-10-25 17:39:10
【问题描述】:
我有一个对象数组,我需要将其转换为表格(一种旋转数据)。说到这里,我需要获取另一个具有唯一标题的对象数组,其中包含具有成对值的嵌套对象数组,然后垂直和水平添加内容。 (请参考图片) 在此先感谢您的任何建议。 我已经能够生成一个透视值数组,但我需要在表格中显示它们并进行一些添加
在此处查找 JSON 数据
const data=[{
"Id": 1,
"Grade": "Grade A",
"category": "Grains",
"subCategory": "Maize",
"sales": 1200
},
{
"Id": 2,
"Grade": "Grade B",
"category": "Grains",
"subCategory": "Wheat",
"sales": 130
},
{
"Id": 3,
"Grade": "Grade B",
"category": "Grains",
"subCategory": "Banana",
"sales": 1200
},
{
"Id": 4,
"Grade": "Grade C",
"category": "Grains",
"subCategory": "Apple",
"sales": 1400
},
{
"Id": 5,
"Grade": "Grade A",
"category": "Grains",
"subCategory": "Maize",
"sales": 1200
},
{
"Id": 6,
"Grade": "Grade B",
"category": "Grains",
"subCategory": "Wheat",
"sales": 130
},
{
"Id": 7,
"Grade": "Grade B",
"category": "Grains",
"subCategory": "Banana",
"sales": 1200
},
{
"Id": 8,
"Grade": "Grade C",
"category": "Grains",
"subCategory": "Apple",
"sales": 1400
},
{
"Id": 7,
"Grade": "Grade B",
"category": "Grains",
"subCategory": "Banana",
"sales": 1200
},
{
"Id": 8,
"Grade": "Grade C",
"category": "Grains",
"subCategory": "Apple",
"sales": 1400
}]
let pivoted = data.reduce((prev, cur) => {
let existing = prev.find(x => x.title === cur.title);
if (existing)
existing.values.push(cur)
else
prev.push({
title: cur.title,
values: [cur]
});
return prev;
}, []);
console.log(pivoted);
【问题讨论】:
-
你自己尝试了什么?
-
我已经能够生成一个旋转数组的列表,但我还需要进行添加功能以及在表格上显示
标签: javascript html arrays json pivot-table