问题描述
我要转换以下对象
"site_permissions": {
"70488413-6750-4f0b-8947-061a85c49e20": [
"8e0bc18c-0387-49e2-99ea-a6359b60d54d","a014a059-8d43-4337-830c-e2742627cf47","4ec12e88-64eb-4b0d-bfc7-7a46f562cf93"
]
}
到
"site_permissions": {
"70488413-6750-4f0b-8947-061a85c49e20": {
"8e0bc18c-0387-49e2-99ea-a6359b60d54d","4ec12e88-64eb-4b0d-bfc7-7a46f562cf93"
}
}
如果可以的话,这是可行的吗?
解决方法
如果您知道对象必须具有键和值,并且要转换它,则必须采用这种方式
"site_permissions": {
"70488413-6750-4f0b-8947-061a85c49e20": {
"8e0bc18c-0387-49e2-99ea-a6359b60d54d":
"8e0bc18c-0387-49e2-99ea-a6359b60d54d","a014a059-8d43-4337-830c-e2742627cf47":
"a014a059-8d43-4337-830c-e2742627cf47","4ec12e88-64eb-4b0d-bfc7-7a46f562cf93":
"4ec12e88-64eb-4b0d-bfc7-7a46f562cf93"
}
}
您可以使用此代码来实现
const site = {
"70488413-6750-4f0b-8947-061a85c49e20": [
"8e0bc18c-0387-49e2-99ea-a6359b60d54d","a014a059-8d43-4337-830c-e2742627cf47","4ec12e88-64eb-4b0d-bfc7-7a46f562cf93"
]
};
let newObject = {};
Object.keys(site).map((key) =>{
site[key].map((value) =>
{
newObject[value] = value;
}
);
site[key] = newObject;
newObject = {};
});
console.log(site);