Parcourir un tableau hiérarchique avec une fonction récursive
Bonjour à toutes et à tous,
Je suis débutant en Javascript et j'ai un gros problème avec la récursivité. J'ai passer la journée à chercher une solution en vain, c'est pourquoi je m'en remet à vous.
Mon problème est celui-ci :
J'ai un tableau organisé de manière hiérarchique dont je ne connais pas à l'avance les valeurs, voici un exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
var tree = [
{ name : "body",
relation : "INCLUSION",
sons :
[
{
name : "header",
relation : "INCLUSION",
sons :
[
{ name : "logo", relation : "INCLUSION", sons : [] }
]
},
{
name : "footer", relation : "INCLUSION", sons : []
}
]
}
]; |
Mon objectif est de construire une fonction récursive qui prend en paramètre "tree" et un "name" et qui ressort un tableau contenant la liste des parents dans l'ordre depuis le "name".
Voici un exemple du comportement attendu :
Code:
1 2 3
|
var parents_list = browseTree (tree,"logo");
// parents_list = [ "header", "body" ]; |
Je vous avoue que je désespère d'y arriver. J'ai beau comprendre les retours que j'ai quand je fait des tests de fonction récursive, impossible de trouver la solution à mon problème..
Merci d'avance.