Création d'une structure de données arborescente hiérarchique à partir d'un tableau JSON plat en JavaScript
Dans les scénarios impliquant des données JSON complexes, il devient essentiel de les organiser hiérarchiquement, surtout pour représenter des structures arborescentes. Cet article explique comment transformer un tableau JSON plat en un arbre hiérarchique en JavaScript.
Problème
Étant donné un tableau JSON plat composé d'objets avec trois propriétés clés :
La tâche consiste à convertir ce tableau plat en une structure arborescente hiérarchique, où chaque nœud parent encapsule ses nœuds enfants.
Solution
Une approche efficace utilise un algorithme de recherche de carte pour construire l’arborescence. L'algorithme parcourt deux fois le tableau plat :
Implémentation
L'extrait de code JavaScript suivant présente l'implémentation de l'arborescence. algorithme de construction :
function list_to_tree(list) { var map = {}, node, roots = [], i; for (i = 0; i < list.length; i += 1) { map[list[i].id] = i; // initialize the map list[i].children = []; // initialize the children } for (i = 0; i < list.length; i += 1) { node = list[i]; if (node.parentId !== "0") { // handle dangling branches here list[map[node.parentId]].children.push(node); } else { roots.push(node); } } return roots; }
Utilisation
Pour convertir un tableau JSON plat en une structure arborescente hiérarchique :
var entries = [ // ... entries as in the provided example ]; var tree = list_to_tree(entries); // The resulting `tree` is the hierarchical data structure
Conclusion
L'algorithme présenté dans cet article convertit efficacement les tableaux JSON plats en structures arborescentes hiérarchiques en JavaScript. Il s'appuie sur une approche de recherche sur carte pour une construction efficace, ce qui le rend adapté à la gestion d'ensembles de données complexes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!