【发布时间】:2022-06-11 08:05:44
【问题描述】:
我在 JS 中转换数据时遇到问题。
数据如下所示:
const data = [
{
"idPopulation": 1,
"namePopulation": "Population 1",
"idStrategy": 1,
"nameStrategy": "Strategy 1",
"priority": 1
},
{
"idPopulation": 1,
"namePopulation": "Population 1",
"idStrategy": 2,
"nameStrategy": "Strategy 2",
"priority": null
},
{
"idPopulation": 1,
"namePopulation": "Population 1",
"idStrategy": 3,
"nameStrategy": "Strategy 3",
"priority": 2
},
{
"idPopulation": 2,
"namePopulation": "Population 2",
"idStrategy": 1,
"nameStrategy": "Strategy 1",
"priority": null
},
{
"idPopulation": 2,
"namePopulation": "Population 2",
"idStrategy": 2,
"nameStrategy": "Strategy 2",
"priority": null
},
{
"idPopulation": 2,
"namePopulation": "Population 2",
"idStrategy": 3,
"nameStrategy": "Strategy 3",
"priority": 1
},
{
"idPopulation": 3,
"namePopulation": "Population 3",
"idStrategy": 1,
"nameStrategy": "Strategy 1",
"priority": 1
},
{
"idPopulation": 3,
"namePopulation": "Population 3",
"idStrategy": 2,
"nameStrategy": "Strategy 2",
"priority": 2
},
{
"idPopulation": 3,
"namePopulation": "Population 3",
"idStrategy": 3,
"nameStrategy": "Strategy 3",
"priority": 3
}
]
我需要将它转换成这个,以便前端包可以使用它(https://devexpress.github.io/devextreme-reactive/react/grid/docs/guides/editing/):
const testRows = [
{
nameStrategy: 'Strategy 1',
priorityPopulation1: 1,
priorityPopulation2: null,
priorityPopulation3: 1,
},
{...}]
我正在尝试减少和填充,但还没有弄清楚。到目前为止,我已经做到了:
const result = data.reduce((groupedStrat, strat) => {
const stratName = strat.nameStrategie;
if(groupedStrat[stratName] == null) groupedStrat[stratName] = []
groupedStrat[stratName].push(strat)
return groupedStrat
}, {})
console.log(result).
如果我的问题清晰易懂,请告诉我。
谢谢!
【问题讨论】:
标签: javascript arrays json object format