есть массив:
const items = [
{id: 1, name: "Foo", parent_id: []},
{id: 2, name: "Bar", parent_id: [1]},
{id: 3, name: "Duc", parent_id: [5]},
{id: 4, name: "Zik", parent_id: []},
{id: 5, name: "Puh", parent_id: [4]}
];
из него нужно получить массив:
const items = [
{id: 1, name: "Foo", children: [
{id: 2, name: "Bar", children: []}
]},
{id: 2, name: "Bar", children: []},
{id: 3, name: "Duc", children: []},
{id: 4, name: "Zik", children: [
{id: 5, name: "Puh", children: [
{id: 3, name: "Duc", children: []}
]}
]},
{id: 5, name: "Puh", children: [
{id: 3, name: "Duc", children: []}
]}
];
типа структура:
Foo
--Bar
Bar
Duc
Zik
--Puh
----Duc
Puh
--Duc
суть в том, что делаю 3х-уровневое меню, пункты которого хранятся в виде первого массива,
на стороне сервера его нужно привести в вид второго, чтобы на клиенте не делать дополнительную логику