2 回答

TA贡献1818条经验 获得超8个赞
您可以执行以下操作:
const a = {
menu_1: {
id: "1",
menuitem: [{
value: "1",
onclick: "1()",
}, ],
},
menu_2: {
id: "2",
menuitem: [{
value: "2",
onclick: "2()",
}, ],
},
};
let b = Object.keys(a).reduce(
(p, c) => {
for (let item of a[c].menuitem) {
p.popup.menuitem.push(item);
}
return p;
}, {
popup: {
menuitem: []
}
}
);
console.log(b);
我假设该对象在数组中a
可能有多个menuitem
。

TA贡献1805条经验 获得超9个赞
您可以通过这种方式使用 reduce
const a = {
"menu_1": {
"id": "1",
"menuitem": [{
"value": "0",
"onclick": "0()"
}, {
"value": "0",
"onclick": "0()"
}]
},
"menu_2": {
"id": "2",
"menuitem": [{
"value": "2",
"onclick": "2()"
}]
}
}
const res = Object.values(a).reduce((all, {
menuitem
}) => {
all.popup.menuitem = [...all.popup.menuitem, ...menuitem]
return all
}, {
popup: {
menuitem: []
}
})
console.log(res)
添加回答
举报