Créer un arbre à partir de l'objet
importance: 5
Écrivez une fonction createTree
qui crée une liste imbriquée ul/li
à partir de l’objet imbriqué.
Par exemple :
let data = {
"Fish": {
"trout": {},
"salmon": {}
},
"Tree": {
"Huge": {
"sequoia": {},
"oak": {}
},
"Flowering": {
"apple tree": {},
"magnolia": {}
}
}
};
La syntaxe :
let container = document.getElementById('container');
createTree(container, data); // crée l'arbre dans le conteneur
Le résultat (arbre) devrait ressembler à ceci :
Choisissez l’une des deux façons de résoudre cette tâche :
- Créez le code HTML de l’arborescence, puis attribuez-le à
container.innerHTML
. - Créez des nœuds d’arbre et ajoutez-les avec les méthodes DOM.
Ce serait génial si vous pouviez faire les deux.
P.S. L’arbre ne doit pas avoir d’éléments “supplémentaires” comme des <ul></ul>
vides pour les feuilles (de l’arbre).
La façon la plus simple de parcourir l’objet est d’utiliser la récursivité.