Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将多个json对象转换为对象数组_Javascript_Arrays_Json_Angular_Typescript - Fatal编程技术网

Javascript 将多个json对象转换为对象数组

Javascript 将多个json对象转换为对象数组,javascript,arrays,json,angular,typescript,Javascript,Arrays,Json,Angular,Typescript,我的数据当前以以下格式存储: { "Site1":{ "week":[ { "access":1 }, { "access":8 } ] }, "Site2":{ "week":[ { "access":16 } ] }, "Site3":{

我的数据当前以以下格式存储:

{
   "Site1":{
      "week":[
         {
            "access":1
         },
         {
            "access":8
         }
      ]
   },
   "Site2":{
      "week":[
         {
            "access":16
         }
      ]
   },
   "Site3":{
      "week":[
         {
            "access":2
         },
         {
            "access":6
         },
         {
            "access":2
         }
      ]
   }
}
我需要将其转换为以下格式:

[
   {
      "id":"Site1",
      "access":[1,8]
   },
   {
      "id":"Site2",
      "access":[16]
   },
   {
      "id":"Site3",
      "access":[2,6,2]
   }
]
如您所见,我还需要获取密钥站点名称,并将它们设置为id值

关于如何在JavaScript中使用angular v9实现这一点,有什么想法吗?我不太擅长重组那种类型的数据

常数数据={ 地点1:{ 周:[ { 访问:1, }, { 访问:8, }, ], }, 地点2:{ 周:[ { 访问:16, }, ], }, 地点3:{ 周:[ { 访问:2, }, { 访问:6, }, { 访问:2, }, ], }, }; const result=Object.keysdata.mapkey=>{ id:钥匙, access:data[key].week.mapw=>w.access, }; console.logresult; 常数数据={ 地点1:{ 周:[ { 访问:1, }, { 访问:8, }, ], }, 地点2:{ 周:[ { 访问:16, }, ], }, 地点3:{ 周:[ { 访问:2, }, { 访问:6, }, { 访问:2, }, ], }, }; const result=Object.keysdata.mapkey=>{ id:钥匙, access:data[key].week.mapw=>w.access, };
console.logresult 您只需使用此代码即可获得所需的结果

Object.keys(data).map(key => (
    {
        id: key,
        access: data[key].week.map(obj => obj.access),
    }
))

如果您遇到任何问题,请告诉我。

您只需使用此代码即可获得所需的结果

Object.keys(data).map(key => (
    {
        id: key,
        access: data[key].week.map(obj => obj.access),
    }
))
如果您遇到任何问题,请告诉我。

您可以先获取条目,然后映射它:

var数据={Site1:{week:[{access:1},{access:8}]},Site2:{week:[{access:16}]},Site3:{week:[{access:2},{access:6},{access:2}}; var result=Object.entriesdata.map[k,v]=>{id:k,access:v.week.mapp=>p.access}; console.logresult 您可以先获取条目,然后映射它:

var数据={Site1:{week:[{access:1},{access:8}]},Site2:{week:[{access:16}]},Site3:{week:[{access:2},{access:6},{access:2}}; var result=Object.entriesdata.map[k,v]=>{id:k,access:v.week.mapp=>p.access};
console.logresult;我真的很感谢你的帮助,非常感谢!这对梅起了作用真的很感谢你的帮助非常感谢!它对我有用