Вы можете сделать что-то вроде следующего:
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
в массиве.