将数组转换为JavaScript中的json对象内的对象类型

问题描述

我要转换以下对象

"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);