我有一组对象,我想将它们分组为特定的键和格式。
这是我拥有的对象:
{
"id": "98765",
"things": [{
"clientId": "123456",
"val": "file1",
"cmpId": "54353"
},
{
"clientId": "1234",
"val": "file2",
"cmpId": "3453"
},
{
"clientId": "1234",
"val": "file3",
"cmpId": "5433"
}
]
};
我的目标是尝试将对象转换为以下格式
{
"id":"98765",
"things":{
"123456":{
"54353":{
"val":"file1"
}
},
"1234":{
"3453":{
"val":"file2"
},
"5433":{
"val":"file3"
}
}
}
}
我已经设法使“clientId”成为对象的键,但我正在努力使活动 ID 嵌套在该对象中。这是我试过的代码
const a = obj.things.reduce((ac, {clientId, ...rest})=> (ac[clientId] = rest, ac), {})
console.log(a);
这给出了以下格式,显然没有实现 cmpId 嵌套,但也摆脱了我的一个对象,因为 clientId 是重复的。我对如何在没有大量代码来实现它的情况下实现非常简洁的东西感到有点迷茫。
{
'1234': { val: 'file3', cmpId: '5433' },
'123456': { val: 'file1', cmpId: '54353' }
}
四季花海
慕丝7291255
相关分类