Maison >interface Web >js tutoriel >Comment puis-je parcourir efficacement des objets imbriqués en JavaScript ?

Comment puis-je parcourir efficacement des objets imbriqués en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-15 02:20:10370parcourir

How Can I Effectively Iterate Through Nested Objects in JavaScript?

Itérer sur des objets JavaScript avec des membres imbriqués

Parcourir les membres d'un objet JavaScript peut être simple. Toutefois, le processus devient plus complexe lorsque l'objet contient des membres imbriqués qui sont également des objets. Explorons comment gérer efficacement de tels scénarios.

Considérez l'objet JavaScript suivant, qui contient des objets membres imbriqués représentant des messages de validation :

var validation_messages = {
    "key_1": {
        "your_name": "jimmy",
        "your_msg": "hello world"
    },
    "key_2": {
        "your_name": "billy",
        "your_msg": "foo equals bar"
    }
};

Pour parcourir tous les membres de cet objet, y compris les membres imbriqués, nous pouvons utiliser une combinaison de boucles for...in. Vous trouverez ci-dessous un exemple :

for (var key in validation_messages) {
    // Skip loop if the property is from prototype
    if (!validation_messages.hasOwnProperty(key)) continue;

    // Access the nested member object
    var obj = validation_messages[key];
    
    for (var prop in obj) {
        // Skip loop if the property is from prototype
        if (!obj.hasOwnProperty(prop)) continue;

        // Access the individual properties
        alert(prop + " = " + obj[prop]);
    }
}

Ce code parcourt les clés de niveau supérieur de l'objet validation_messages. Pour chaque clé, il vérifie s'il s'agit d'une propriété valide de l'objet (hors propriétés héritées du prototype). S'il est valide, il accède à l'objet membre imbriqué et exécute une autre boucle for...in pour parcourir ses propriétés. Encore une fois, il vérifie les propriétés valides et récupère leurs valeurs.

Grâce à cette approche, vous pouvez parcourir de manière transparente à la fois les membres de niveau supérieur et les membres imbriqués d'un objet JavaScript, en donnant accès à toutes leurs valeurs.

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!

Déclaration:
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