Есть массив:
[
{
"id": 1,
"title": "Экипировка",
"parent": null,
"name": "equipment",
"priority": 1,
"status": 1,
"paramId": 2
},
{
"id": 4,
"title": "Раса",
"parent": null,
"name": "race",
"priority": 1,
"status": 1,
"paramId": 2
},
{
"id": 5,
"title": "Раса 1",
"parent": 4,
"name": null,
"priority": 2,
"status": 1,
"paramId": 2
},
{
"id": 3,
"title": "Экипировка 3",
"parent": 1,
"name": null,
"priority": 3,
"status": 1,
"paramId": 2
},
{
"id": 9,
"title": "j",
"parent": 4,
"name": "race",
"priority": 1,
"status": 1,
"paramId": 2
},
{
"id": 10,
"title": "41",
"parent": 1,
"name": "equipment",
"priority": 124,
"status": 1,
"paramId": 2
}
]
В нем хранится массив со всеми категориями. Как пересобрать массив так, чтобы связанные подкатегории и под подкатегории были вложенные в связанные категории?
Проблема в том, что неизвестно сколько может быть подкатегорий и нужно делать проверку независимо, так как ветка может быть бесконечной.
Пример на выходе:
[
{
"id": 1,
"title": "Экипировка",
"parent": null,
"name": "equipment",
"priority": 1,
"status": 1,
"paramId": 2,
"child": [
{
"id": 9,
"title": "j",
"parent": 1,
"name": "race",
"priority": 1,
"status": 1,
"paramId": 2,
"child": [
{
"id": 9,
"title": "j",
"parent": 9,
"name": "race",
"priority": 1,
"status": 1,
"paramId": 2
},
//и.т.д
]
}
]
},
{
"id": 4,
"title": "Раса",
"parent": null,
"name": "race",
"priority": 1,
"status": 1,
"paramId": 2
}
]