Может ли кто-нибудь помочь преобразовать следующий список объектов parent-child:
[
{
"name":"root",
"_id":"root_id",
},
{
"name":"a1",
"parentAreaRef":{
"id":"root_id",
},
"_id":"a1_id",
},
{
"name":"a2",
"parentAreaRef":{
"id":"a1_id",
},
"_id":"a2_id",
},
{
"name":"a3",
"parentAreaRef":{
"id":"a2_id",
},
"_id":"a3_id",
},
{
"name":"b1",
"parentAreaRef":{
"id":"root_id",
},
"_id":"b1_id",
},
{
"name":"b2",
"parentAreaRef":{
"id":"b1_id",
},
"_id":"b2_id",
},
{
"name":"b3",
"parentAreaRef":{
"id":"b1_id",
},
"_id":"b3_id",
}
]
в древовидную структуру, показывающую отношения родитель-потомок:
[
{
"name": "root",
"_id":"root_id",
"children": [
{
"name": "a1",
"_id":"a1_id",
"children" : [
{
"name" : "a2",
"_id":"a2_id",
"children" : [
{
"name" : "a3"
"_id":"a3_id"
}
]
}
]
},
{
"name": "b1",
"_id":"b1_id",
"children" : [
{
"name" : "b2"
"_id":"b2_id"
},
{
"name" : "b3"
"_id":"b3_id"
}
]
}
]
}
]
(Структура вывода - это массив, позволяющий использовать несколько корней, но если мы сможем получить решение, которое отлично справится с одним корнем).
Дерево вывода выглядит следующим образом:
root
|
-- a1
| |
| -- a2
| |
| -- a3
|
-- b1
|
-- b2
-- b3
Спасибо!