В
catalogs.json реализованы подкаталоги путем добавления поля
parentId.
Каждый товар относиться к определенному каталогу, соответственно у каждого каталога есть поле
catalogId
Когда пользователь смотрит товары в родительской категории, то очевидно ему нужно показывать товары и из всех дочерних категорий, как например он смотрит товары из категории
<Девайсы> то нужно отобразить и товары из категорий которые имеют
parentID = id выбраного каталога:
<Клавиатуры>,
<Мышки> и пр. а у этих каталогов могут быть и свои дочерние каталоги
<Механические клавиатуры>,
<Беспроводные мышки> т.е вложенность может быть до бесконечности.
Мне нужно как то имея на руках массив catalogs(в котором содержаться все каталоги) и константу
selectedCatalog с выбраным id каталога - положить в массив
allIds все ID дочерних каталогов и соответственно значение
selectedCatalog.
Пожалуйста скажите хотя бы в какую сторону копать потому что я вообще не понимаю как реализовывать такую вложенную операцию перебора.
Я разрабатываю приложение на React, Redux если это важно.
JSON
catalogs.json
[
{
"id": 1,
"title": "Девайсы",
"parentId": null
},
{
"id": 2,
"title": "Мышки",
"parentId": 1
},
{
"id": 3,
"title": "Беспроводные мышки",
"parentId": 2
},
{
"id": 4,
"title": "Еще какой то атрибут мышек",
"parentId": 3
},
]
const catalogs = ... вытянутый из JSON массив
const selectedCatalog = ...id выбранного каталога
const allIds = [] // Пустой массив который нужно наполнить
// Какой то процесс перебора который я никак не могу реализовать