Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.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 如何将嵌套的对象数组转换为数组对象_Javascript_Arrays_Object - Fatal编程技术网

Javascript 如何将嵌套的对象数组转换为数组对象

Javascript 如何将嵌套的对象数组转换为数组对象,javascript,arrays,object,Javascript,Arrays,Object,我有一个嵌套的对象数组 const data = [ {group: [{label:"1"}]}, {topGroup: [{label:"2"}]} ] 我想将数组转换为对象的这种格式,并得到这个输出 let permission ={ group:["1"], topGroup:["2"] } 我该怎么做? const data=[{group:[{label:[1”}]},{topGroup:[{label:[2”}]}] const c

我有一个嵌套的对象数组

  const data = [ {group: [{label:"1"}]}, {topGroup: [{label:"2"}]} ]
我想将数组转换为对象的这种格式,并得到这个输出

 let permission ={

       group:["1"],
       topGroup:["2"]
     }
我该怎么做?

const data=[{group:[{label:[1”}]},{topGroup:[{label:[2”}]}]
const const converted=data.reduce((a,b)=>{
const onlyKey=Object.keys(b)[0];
a[onlyKey]=b[onlyKey].map(i=>i.label);
返回a;
}, {})
console.log(已转换)
const data=[{group:[{label:[1”}]},{topGroup:[{label:[2”}]}]
让permission={};
data.forEach(val=>{
用于(val中的道具){
权限[prop]=[val[prop][0][“标签”]]
}
})

console.log(permission)
假设数据将永远以该格式显示
标签,您可以使用类似的东西

const data=[{“group”:[{“label”:“1”}],{“topGroup”:[{“label”:“12”}];
//下面的dict变量是reduce的第二个参数,我将其传递给它`{}`。
//ind变量是数组索引处的数据。
var newData=data.reduce(函数(dict,ind){
//您基本上得到了键和值,并将它们放在适当的位置
//并将最后一个状态返回到reduce函数。
dict[Object.keys(ind)]=Object.values(ind)[0][0][“label”];
返回命令;
}, {})

console.log(newData)
使用解构和
对象.fromEntries

const data=[{group:[{label:[{1}]},{topGroup:[{label:[2}]}];
const permission=Object.fromEntries(
data.map(项=>{
常量[[key[obj]]]=Object.entries(项);
返回[键,对象值(obj)];
})
);

console.log(权限)可以对数据数组使用reduce或map方法。但是从“12”变成“2”的算法是什么呢?const data=[{group:[“1”]},{topGroup:[“12”]}]让da=Object.fromEntries(data.map((key)=>Object.entries(key)[0])我在输入数据时得到了值,但在数组中添加对象时我无法理解。我怎样才能得到我刚刚编辑的预期输出。你能看出我在这个问题上真的很麻烦。你能看看这个吗?