【发布时间】:2019-10-27 08:35:29
【问题描述】:
我有一个如下形式的数据集
let data = [
{
"id": {
"primary": "A1"
},
"msg": 1
}, {
"id": {
"primary": "A1"
},
"msg": 2
}, {
"id": {
"primary": "B2"
},
"msg": 3
}
]
我想把它改成
newData = [
{
"id": {
"primary": "A1"
},
"items": [
{ "msg": 1 },
{ "msg": 2 }
]
},
{
"id": {
"primary": "B2"
},
"items": [
{ "msg": 3 }
]
}
]
我认为该方法类似于以下内容,但不确定在这种情况下如何检查 undefined 值。
let newData = [];
for (let i = 0; i < data.length; i++) {
if (newData[i]['id']['primary'] === data[i]['id']) newData.push(data[i]['id'])
else newData[i]['items'].push(data[i]['msg'])
}
如何转换原始数据集以合并具有匹配 primary id 的条目?
【问题讨论】:
-
JSON 是 JavaScript 对象表示法。它是一种表示 JavaScript 对象的字符串格式。我没有看到
JSON.parse、JSON.stringify或任何其他表明您正在使用 JSON 的内容。
标签: javascript arrays denormalization