Maison > interface Web > js tutoriel > le corps du texte

Comment obtenir l'objet parent d'un objet imbriqué en JavaScript ?

Susan Sarandon
Libérer: 2024-10-25 03:14:29
original
617 Les gens l'ont consulté

How to Get the Parent Object from a Nested Object in JavaScript?

Récupération d'un objet parent à partir d'un objet imbriqué en JavaScript

En JavaScript, l'accès aux objets imbriqués est une opération courante. Cependant, récupérer l'objet parent à partir d'un objet imbriqué peut s'avérer difficile.

Considérez le scénario suivant :

obj: { subObj: { foo: 'hello world' } };
var s = obj.subObj;
Copier après la connexion

Maintenant, vous souhaitez obtenir une référence à l'objet parent obj à partir de la variable s. Existe-t-il une méthode pour y parvenir ?

La réponse

Malheureusement, les objets imbriqués en JavaScript n'ont pas d'accès direct à leurs objets parents. Par conséquent, il n'est pas possible de récupérer l'objet parent directement à partir de l'objet imbriqué.

Pour illustrer, considérons le code suivant :

var main = {
    name : "main object",
    child : {
        name : "child object"
    }
};
Copier après la connexion

Accéder au nom de l'enfant à partir de l'objet principal est simple (c'est-à-dire main.child.name). Cependant, tenter d'accéder au nom du parent à partir de l'objet enfant (c'est-à-dire main.child.parent.name) générera une erreur.

Solution alternative

Pendant que direct le référencement à partir de l'objet enfant n'est pas réalisable, il existe une approche alternative qui utilise une fonction.

var main = {
    name : "main object",
    child : {
        name : "child object"
    },
    init : function() {
        this.child.parent = this;
        delete this.init;
        return this;
    }
}.init();
Copier après la connexion

Dans ce code, la fonction init ajoute une propriété parent directement à l'objet enfant, pointant vers l'objet parent . Après cette initialisation, vous pouvez accéder avec succès au nom du parent à partir de l'objet enfant en appelant main.child.parent.name.

Cette méthode est un peu peu orthodoxe mais offre une solution au problème de récupération de l'objet parent depuis un objet imbriqué en JavaScript.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!