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é.