所以我正在尝试构建重建对象并以受人尊敬的方式返回的函数,例如:
当前对象:
{
"child1": {
"value": "firstvalue", "Key": "ID1"
},
"child2":
{
"value": "secondvalue", "Key": "ID2"
},
"child3":
{
"value": "thirdvalue", "Key": "ID1"
},
}
预期对象:
{
"ID1": {
"child1": "first value",
"child3": "third value",
},
"ID2": {
"child2": "third value",
},
}
有什么干净的方法可以做到吗?或者我必须将它插入数组?我尝试将其插入数组,然后组织它,但每当我尝试插入具有相同“ID1”的对象时,它都会替换它,尝试使用reduce和concat到数组中,但仍然没有弄清楚,谢谢您的帮助!
最佳答案
是的,这很有可能:
const obj = {
"child1": {
"value": "firstvalue", "Key": "ID1"
},
"child2":
{
"value": "secondvalue", "Key": "ID2"
},
"child3":
{
"value": "thirdvalue", "Key": "ID1"
},
};
const result = Object.entries(obj) // Get all key/value pairs in the source object.
.reduce((result, [child, data]) => {
result[data.Key] = result[data.Key] || {}; // Make sure result[data.Key] is an object.
result[data.Key][child] = data.value; // Assign the current entry's value to object.
return result;
}, {});
console.log(result)
关于javascript - 反向填充对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60545093/