Quels sont les moyens d'imprimer ce code si je ne connais pas la profondeur d'objet de catégorie?
Comment cartographier cela pour obtenir une catégorie récursive sous catégorie avec des circonstances différentes?
3 Réponses :
Vous pouvez utiliser le même rappel pour chaque catégorie imbriquée.
p>
.as-console-wrapper { max-height: 100% !important; top: 0; }Utilisez simplement une fonction récursive régulière, si la catégorie n'existe pas ou qu'il est vide, il suffit de revenir.
p>
const category = [{
"id": 8,
"name": "Genere",
"parent": null,
"category": []
},
{
"id": 1,
"name": "Movies",
"parent": null,
"category": [{
"id": 2,
"name": "Bollywood",
"parent": 1,
"category": []
},
{
"id": 3,
"name": "Hollywood",
"parent": 1,
"category": []
}
]
},
{
"id": 9,
"name": "Region",
"parent": null,
"category": []
},
{
"id": 4,
"name": "Songs",
"parent": null,
"category": [{
"id": 7,
"name": "Bollywood",
"parent": 4,
"category": [{
"id": 10,
"name": "Arijit singh",
"parent": 7,
"category": []
},
{
"id": 11,
"name": "Sonu Nigam",
"parent": 7,
"category": []
}
]
},
{
"id": 6,
"name": "English",
"parent": 4,
"category": []
},
{
"id": 5,
"name": "Hindi",
"parent": 4,
"category": []
}
]
}
]
function recursiveLoop(array) {
if (!array) return;
array.forEach(item => {
console.log(item.name);
recursiveLoop(item.category)
})
}
recursiveLoop(category);const printCategory = (c, i) => {
console.log(c.name + " ------> " + i)
c.category.map(printCategory);
}
category.map(printCategory);
En fait, vous ne retournez pas quelque chose de sens complet avec la cartographie ...?