Я пытаюсь преобразовать этот плоский массив категорий и подкатегорий
let flatCategories = [
{
name: "Junk food",
id: 1,
subcategoriesId: [2],
},
{
name: "cookies",
id: 2,
subcategoriesId: [3, 4],
},
{
name: "Chocolate chip cookies",
id: 3,
subcategoriesId: [],
},
{
name: "peanut butter cookies",
id: 4,
subcategoriesId: [],
}
];
в массив объектов категорий, которые содержат массив всех их объектов подкатегорий:
let categoriesTree = [
{
name: "Junk food",
id: 1,
subcategories: [
{
name: "cookies",
id: 2,
subcategories: [
{
name: "Chocolate Chip cookies",
id: 3
},
{
name: "peanut butter cookies",
id: 4
}
]
}
]
}
]
Я хочу, чтобы он был динамическим c и go на столько уровней, сколько необходимо. Я знаю, что для этого мне следует использовать рекурсивную функцию, но я просто не знаю, как ее реализовать.