Мне нужно реорганизовать массив связанных объектов по идентификатору только в один объект дерева. Уровень глубины неизвестен, поэтому я думаю, что это нужно делать рекурсивно. Каков наиболее эффективный способ?
У меня есть следующий массив объектов:
const arrObj = [
{
"id": 1,
"children": [
{
"id": 2
},
{
"id": 3
}
]
},
{
"id": 2,
"children": [
{
"id": 4
},
{
"id": 5
}
]
},
{
"id": 3,
"children": [
{
"id": 6
}
]
},
{
"id": 4
}
]
Я хочу реструктурировать только один объект, например дерево:
const treeObj = {
"id": 1,
"children": [
{
"id": 2,
"children": [
{
"id": 4
},
{
"id": 5
}
]
},
{
"id": 3,
"children": [
{
"id": 6
}
]
}
]
}
Каждый объект имеет множество других свойств.