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])我在输入数据时得到了值,但在数组中添加对象时我无法理解。我怎样才能得到我刚刚编辑的预期输出。你能看出我在这个问题上真的很麻烦。你能看看这个吗?