Дан объект с категориями магазина. У каждой категории есть айдишник и название, а некоторые категории содержат подкатегории. Любая подкатегория в свою очередь также может содержать свои подкатегории.
const catalog = { id: "1", name: "Электроника", children: [ { id: "2", name: "Товары для компьютера", children: [ { id: "3", name: "Оперативная память", children: [] }, { id: "4", name: "Процессоры", children: [] }, ], }, { id: "5", name: "Мобильные телефоны", children: [] }, ], };
Для того чтобы по категории быстро определять родителя, необходимо собрать словарь id → parentId
.
console.log(id2parent(catalog)); const expected = { "1": null, "2": "1", "3": "2", "4": "2", "5": "1", }
В возвращаемом объекте ключами являются айдишники категорий. Если у категории нет родителя, по ключу должен лежать null
.