如何在javascript中将数组转换为对象
我有一组物体如何在javascript中将数组转换为对象,javascript,arrays,reactjs,object,Javascript,Arrays,Reactjs,Object,我有一组物体 const data = [ {group: [{label:"1"}]}, {topGroup: [{label:"12"}]} ] 我想将数组转换为对象的这种格式 let permission ={ group:["1"], topGroup:["2"] } 我如何才能做到这一点?基于: const data = [ {group: [{label:"1"}]}, {topGroup: [{label:"12"}]} ] 之后,您可以使用一系列
const data = [ {group: [{label:"1"}]}, {topGroup: [{label:"12"}]} ]
我想将数组转换为对象的这种格式
let permission ={
group:["1"],
topGroup:["2"]
}
我如何才能做到这一点?基于:
const data = [ {group: [{label:"1"}]}, {topGroup: [{label:"12"}]} ]
之后,您可以使用一系列选项来实现这一点,我建议使用Object.assign
:
let permission = Object.entries(
Object.assign({}, ...data)
).map(([key, value]) => ({
[key]: value.map(({ label }) => label),
}));
输出:
const data=[{group:[{label:[1”}]},{topGroup:[{label:[12”}]}]
让权限=Object.entries(
赋值({},…数据)
).map([key,value])=>({
[key]:value.map(({label})=>label),
}));
console.log(权限)
在JavaScript中,几乎“一切”都是一个对象:但是。。但是但是…,预期输出不能是对象。出乎意料的是,苏戎,你的阵型看起来不太整齐。它应该更像:const data=[{group:[“1”]},{topGroup:[“txt”,“ss”]}]
一个对象需要一个键和值对,而预期的对象没有…?@HMR将输出什么:如果是输入,让data=[{group:[{label:[ss”}]}]@sujon我已经用输出更新了我的答案。我根据你的回答编辑了我的问题,我还根据您的编辑编辑了我的答案@sujonit不起作用。我看到有一个带有输出的标签