Maison > interface Web > js tutoriel > Comment puis-je parcourir de manière récursive une arborescence d'objets JSON en JavaScript ?

Comment puis-je parcourir de manière récursive une arborescence d'objets JSON en JavaScript ?

Mary-Kate Olsen
Libérer: 2024-12-05 08:53:10
original
840 Les gens l'ont consulté

How Can I Recursively Traverse a JSON Object Tree in JavaScript?

Traversée récursive d'arborescences d'objets JSON avec JavaScript

La traversée d'arborescences d'objets JSON peut être un processus simple. Bien que les bibliothèques dédiées ne soient pas facilement disponibles, il est possible d'implémenter une solution de traversée personnalisée à l'aide des fonctionnalités natives de JavaScript.

Implémentation d'une fonction de traversée

Pour parcourir une arborescence d'objets JSON , vous pouvez définir une fonction récursive :

function traverse(o, func) {
    for (var i in o) {
        func.apply(this, [i, o[i]]);  
        if (o[i] !== null && typeof(o[i])=="object") {
            traverse(o[i], func);
        }
    }
}
Copier après la connexion

Traitement Nœuds

La fonction traverse prend deux arguments : l'objet JSON (o) et une fonction de rappel (func). La fonction de rappel est responsable du traitement de chaque paire clé-valeur. Par exemple :

function process(key, value) {
    console.log(key + " : " + value);
}
Copier après la connexion

Exemple d'utilisation

Pour parcourir un objet JSON et enregistrer les paires clé-valeur dans la console, vous pouvez appeler la fonction de traversée :

traverse(o, process);
Copier après la connexion

Conclusion

En utilisant cette fonction de parcours personnalisé, vous pouvez parcourez efficacement les arborescences d'objets JSON de profondeur arbitraire, sans avoir besoin de bibliothèques externes. Cette approche offre flexibilité et contrôle sur le processus de parcours, vous permettant d'exécuter des actions spécifiques sur chaque nœud selon les 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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal