Есть такой массив объектов
const obj = [
{
name: 'hunter',
isExpanded: true,
children: [
{
name: 'rain',
isExpanded: true,
children: [
{name: 'zevs',
isExpanded: false
},
{name: 'jupiter',
isExpanded: false
},
]
},
{
name: 'vortex',
isExpanded: false
},
{
name: 'fray',
isExpanded: false
},
]
},
{
name: 'focus',
isExpanded: false,
children: [
{
name: 'dizik',
isExpanded: false
},
{
name: 'shank',
isExpanded: true,
children:[
{name: 'storm',
isExpanded: false},
]
},
{
name: 'free',
isExpanded: false
},
]
},
{
name: 'devil',
isExpanded: true,
children: [
{
name: 'defavu',
isExpanded: false
},
{
name: 'hope',
isExpanded: true,
children: [
{name: 'rilay',
isExpanded: false},
{name: 'truth',
isExpanded: false}
]
},
{
name: 'miracle',
isExpanded: false
},
]
}
]
Нужно получить массив c 0 уровнем объектов вместе со всеми дочерними элементами, при условии если у родителя флаг раскрытия стоит в true. Я попытался вывести это дело через рекурсию, но возникла сложность с переходом на предыдущий уровень. На соседний дочерний элемент я пройти могу(в этом случае я храню ссылку на их родителя), но если возвращаться к родителю и уже рассматривать его как дочерний элемент, не выходит. [{name:hunter,isExpanded:true},{name:'rain',isExpanded:true}, {name:"rain",isExpanded:true}, {name:"zevs", isExpanded: false},{name:"jupiter",isExpanded:false},{name:"vortex",isExpanded:false},{name:"fray",isExpanded:false},{name:"focus",isExpanded:false}, {name:"devil",isExpanded:true},{name:"defavu",isExpanded:false}, {name:"shank",isExpanded:true}, {name:"storm",isExpanded:false}, {name:"free",isExpanded:false}]