Heim  >  Artikel  >  Web-Frontend  >  Wie erhalte ich das übergeordnete Objekt von einem verschachtelten Objekt in JavaScript?

Wie erhalte ich das übergeordnete Objekt von einem verschachtelten Objekt in JavaScript?

Susan Sarandon
Susan SarandonOriginal
2024-10-25 03:14:29618Durchsuche

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

Übergeordnetes Objekt aus verschachteltem Objekt in JavaScript abrufen

In JavaScript ist der Zugriff auf verschachtelte Objekte ein häufiger Vorgang. Das Abrufen des übergeordneten Objekts aus einem verschachtelten Objekt kann jedoch eine Herausforderung sein.

Stellen Sie sich das folgende Szenario vor:

obj: { subObj: { foo: 'hello world' } };
var s = obj.subObj;

Jetzt möchten Sie einen Verweis auf das übergeordnete Objekt obj aus der Variablen erhalten S. Gibt es eine Methode, um dies zu erreichen?

Die Antwort

Leider haben verschachtelte Objekte in JavaScript keinen direkten Zugriff auf ihre übergeordneten Objekte. Daher ist es nicht möglich, das übergeordnete Objekt direkt vom verschachtelten Objekt abzurufen.

Zur Veranschaulichung betrachten wir den folgenden Code:

var main = {
    name : "main object",
    child : {
        name : "child object"
    }
};

Der Zugriff auf den Namen des untergeordneten Objekts erfolgt über das Hauptobjekt einfach (d. h. main.child.name). Der Versuch, über das untergeordnete Objekt (d. h. main.child.parent.name) auf den Namen des übergeordneten Elements zuzugreifen, führt jedoch zu einem Fehler.

Alternative Lösung

Während direkt Eine Referenzierung vom untergeordneten Objekt ist nicht möglich, es gibt einen alternativen Ansatz, der eine Funktion verwendet.

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

In diesem Code fügt die Init-Funktion eine übergeordnete Eigenschaft direkt zum untergeordneten Objekt hinzu und zeigt auf das übergeordnete Objekt . Nach dieser Initialisierung können Sie erfolgreich auf den Namen des übergeordneten Objekts vom untergeordneten Objekt zugreifen, indem Sie main.child.parent.name aufrufen.

Diese Methode ist etwas unorthodox, bietet aber eine Lösung für das Problem des Abrufens des übergeordneten Objekts ein verschachteltes Objekt in JavaScript.

Das obige ist der detaillierte Inhalt vonWie erhalte ich das übergeordnete Objekt von einem verschachtelten Objekt in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn