我有一组数据需要根据我想要的特定格式重新格式化。 以下是我正在接收的数据格式。
const recieved = [
{
"name": "1PM Industries Inc ",
"series": [
{
"value": 0.0001,
"name": "2019-08-30"
},
{
"value": 0,
"name": "2019-08-28"
}
]
}
]
我需要做的是遍历所有对象属性键"name"
,"series"
,"value"
,并将它们更改为"id"
,"data"
,{{ 1}}和"x"
。
以下是我希望更改以上数据集的数据格式。
我需要将"y"
替换为"name"
,并将"x"
替换为"value"
"y"
我发现我们可以通过 const columns = [
{
"id": "japan",
"data": [
{
"x": "plane",
"y": 45
},
{
"x": "helicopter",
"y": 253
}
]
}
]
Object.keys
在数据格式化方面,我发现自己处于非常困难的境地。希望有人可以帮助我。谢谢
答案 0 :(得分:1)
这应该有效:
SQLite Manager
映射到每个接收到的对象,返回一个新对象。新对象的received.map(r => ({
id: r.name,
data: r.series.map(s => ({
x: s.name,
y: s.value
}))
}));
是接收到的对象的id
。新对象name
是旧对象data
的映射,旧对象将series
转换为name
,并将x
转换为value
。
答案 1 :(得分:1)
您可以重命名属性(Assigning to new variable names)并生成新对象。
y
const
recieved = [{ name: "1PM Industries Inc ", series: [{ value: 0.0001, name: "2019-08-30" }, { value: 0, name: "2019-08-28" }] }],
result = recieved.map(({ name: id, series }) => ({
id,
data: series.map(({ value: x, name: y }) => ({ x, y }))
}));
console.log(result);
答案 2 :(得分:1)
您可以使用map方法。
Grid
答案 3 :(得分:0)
您可以将for..in循环与hasOwnProperty()方法结合使用
使用递归获得更好的脚本