С сервера передаётся массив с объектами, выглядит примерно так:
[
{
id: 1,
path: [2,3]
},
{
id: 2,
path: []
},
{
id: 3,
path: [2]
}
]
path - путь по
id, начиная с корня дерева
Нужно привести к виду:
[
{
id: 2,
children: [{
id: 3,
children: [
{id: 1},
{id: 4}
]
}]
}
]
В голову ничего не приходит, кроме как пробежаться по массиву, узнать максимальное количество уровней и запустить цикл в котором будет строиться новый массив начиная от корневых документов, проходя каждый уровень... но мне кажется, что есть способы куда лучше :/
P.S. если можно - кодом, пожалуйста. Спасибо.