Вот кусок кода, который делает то, что вы ищете.Есть пара операторов console.log, которые проведут вас через обрабатываемые данные.Я уверен, что вам нужно настроить его, но это только начало.
В этом решении есть 3 цикла forEach, поэтому, если вы работаете с большим массивом / объектом и / или запускаете этотчасто - могут быть более эффективные методы для достижения этой цели.
Предполагая ECMA6:
const arr = [{ name: 'name 1', id: 1, node: [{ name: 'name2', id: 2 }]}];
arr.forEach((item) =>{
console.log("array item:", item);
const keys = Object.keys(item);
console.log("item keys", keys);
keys.forEach((key) =>{
if(item[key] instanceof Object){
if(Array.isArray(item[key])){
item[key].forEach((internalObject) =>{
console.log("intenal object", internalObject);
arr.push(internalObject);
delete item[key];
console.log("New array", arr);
})
}
}
})
});