我有一个像这样的 json 对象数组:
[
{
"entity": "clientModal",
"value": "MacBook"
},
{
"entity": "siteName",
"value": "abde"
},
{
"entity": "clientModal",
"value": "MacBook"
},
{
"entity": "siteName",
"value": "abcd"
},
{
"entity": "clientName",
"value": "ghe-1202m"
},
{
"entity": "timePeriod",
"value": "week"
},
{
"entity": "clientName",
"value": "ghe-1202m"
},
{
"entity": "timePeriod",
"value": "week"
},
{
"entity": "clientName",
"value": "ghe-1202m"
},
{
"entity": "clientName",
"value": "ppphone"
},
{
"entity": "clientName",
"value": "pppiphone"
}
]
我希望键“实体”在任何地方都应该被它的值替换,并且键“值”必须位于其中。 像这样:
[ { “客户名称”: { “值(value)”:“ppiphone” } } ]
我尝试了一切,但仍然没有找到任何东西。
最佳答案
您需要映射数组并创建一个新对象,其中实体
值将用作键的名称。
const arrays = [
{
"entity": "clientModal",
"value": "MacBook"
},
{
"entity": "siteName",
"value": "abde"
},
{
"entity": "clientModal",
"value": "MacBook"
},
{
"entity": "siteName",
"value": "abcd"
},
{
"entity": "clientName",
"value": "ghe-1202m"
},
{
"entity": "timePeriod",
"value": "week"
},
{
"entity": "clientName",
"value": "ghe-1202m"
},
{
"entity": "timePeriod",
"value": "week"
},
{
"entity": "clientName",
"value": "ghe-1202m"
},
{
"entity": "clientName",
"value": "ppphone"
},
{
"entity": "clientName",
"value": "pppiphone"
}
];
const mappedArray = arrays.map(arr => ({
[arr.entity]: {
value: arr.value
}
}));
console.log(mappedArray);
关于node.js - Json对象数组:replacing 'key' names with their values to avoid same key name and easy retrieval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60519830/