"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment accéder à l'objet parent d'un objet enfant imbriqué en JavaScript ?

Comment accéder à l'objet parent d'un objet enfant imbriqué en JavaScript ?

Publié le 2024-11-20
Parcourir:354

How Can You Access the Parent Object of a Nested Child Object in JavaScript?

Objets Javascript : détermination de la filiation

En Javascript, les objets peuvent être imbriqués, créant ainsi une structure hiérarchique. Cependant, accéder à l'objet parent à partir d'un objet enfant imbriqué peut s'avérer difficile.

Considérez l'objet imbriqué suivant :

obj: { subObj: { foo: 'hello world' } };

Pour référencer le sous-objet dans s, nous utilisons :

var s = obj.subObj;

Maintenant, nous voulons obtenir l'objet parent obj en utilisant s.

Malheureusement, il n'existe aucun mécanisme direct pour récupérer l'objet parent d'un objet enfant en Javascript. En effet, les objets enfants n'ont aucune connaissance de l'existence de leurs parents.

Solution alternative

Une solution de contournement consiste à utiliser une fonction pour établir une relation parent-enfant au sein d'objets imbriqués. . Extension du code ci-dessus :

var main = {
    name : "main object",
    child : {
        name : "child object",
        parent : null
    },
    init : function() {
        this.child.parent = this;
        delete this.init;
        return this;
    }
}.init();

Dans la fonction init, nous attribuons l'objet parent à la propriété parent au sein de l'objet enfant. En appelant ceci, nous faisons référence à l'objet actuel (c'est-à-dire principal) depuis l'objet enfant imbriqué. Enfin, nous supprimons la fonction init pour plus de clarté du code.

Grâce à cette technique, nous pouvons désormais accéder à l'objet parent depuis l'enfant :

main.child.parent.name // returns "main object"
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3