Maison >interface Web >js tutoriel >Arbre imbriqué vs arbre plat
Les composants des arbres sont très courants et pratiques. Remarquez-vous que tous les composants des arbres ne sont pas des structures imbriquées?
arrière-plan
Il a deux sous-codes et chaque sous-node a un sous-node.
<code class="language-javascript"> // 一个基本的树形数据结构 const treeData = { id: 0, name: "root", children: [ { id: 1, name: "node 1", children: [ { id: 3, name: "node 1.1" } ] }, { id: 2, name: "node 2", children: [ { id: 4, name: "node 2.1" } ] } ] };</code>
arbre local
J'ai initialement supposé que la structure de la composante arborée était imbriquée. C'est le moyen le plus intuitif de générer une structure d'arbres. Traversez simplement la structure des données et convertissez-les en éléments HTML.Il générera la structure HTML suivante. Il s'agit d'une structure HTML typique, et nous pouvons facilement ajouter une fonction pliante / en expansion à l'arbre.
<code class="language-javascript">function nestedTreeGenerator(treeData, depth) { const nodes = []; // ... (代码略,与原文相同) ... }</code>arbre plat
Flat Tree est une liste, mais il ressemble à un arbre.
Exemple complet
<code class="language-javascript">function flatTreeGenerator(treeData, depth, parentId) { let nodes = []; // ... (代码略,与原文相同) ... }</code>
Ces deux arbres se ressemblent. Cependant, accrochez la souris sur le nœud d'arbre, vous constaterez que le comportement est légèrement différent. La couleur d'arrière-plan de l'arbre imbriqué a toujours été en retrait, tandis que l'arbre plat ne l'est pas.
Après avoir téléchargé le code VS, j'ai d'abord appris l'arbre plat pour la première fois. J'ai trouvé que le code VS montrait de manière élégamment de la structure de mon dossier. Mon point préféré est que lorsque vous accrochez le curseur sur un dossier ou un fichier, la colonne entière sera mise en évidence.
Ils ont leurs propres avantages et inconvénients, veuillez choisir le type approprié en fonction de vos besoins.
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!