„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie können Sie in JavaScript auf das übergeordnete Objekt eines verschachtelten untergeordneten Objekts zugreifen?

Wie können Sie in JavaScript auf das übergeordnete Objekt eines verschachtelten untergeordneten Objekts zugreifen?

Veröffentlicht am 20.11.2024
Durchsuche:430

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

Javascript-Objekte: Abstammung bestimmen

In Javascript können Objekte verschachtelt werden, wodurch eine hierarchische Struktur entsteht. Der Zugriff auf das übergeordnete Objekt von einem verschachtelten untergeordneten Objekt aus kann jedoch eine Herausforderung sein.

Betrachten Sie das folgende verschachtelte Objekt:

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

Um das Unterobjekt innerhalb von s zu referenzieren, verwenden wir:

var s = obj.subObj;

Jetzt möchten wir das übergeordnete Objekt obj mithilfe von s.

erhalten. Leider gibt es in Javascript keinen direkten Mechanismus, um das übergeordnete Objekt von einem untergeordneten Objekt abzurufen. Dies liegt daran, dass untergeordnete Objekte keine Kenntnis von der Existenz ihrer übergeordneten Objekte haben.

Alternative Lösung

Eine Problemumgehung besteht darin, eine Funktion zu verwenden, um eine Eltern-Kind-Beziehung innerhalb verschachtelter Objekte herzustellen . Erweitern des obigen Codes:

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

In der Init-Funktion weisen wir das übergeordnete Objekt der übergeordneten Eigenschaft innerhalb des untergeordneten Objekts zu. Indem wir dies aufrufen, verweisen wir innerhalb des verschachtelten untergeordneten Objekts auf das aktuelle Objekt (d. h. main). Zum Schluss entfernen wir aus Gründen der Codeklarheit die Init-Funktion.

Mit dieser Technik können wir nun vom untergeordneten Objekt auf das übergeordnete Objekt zugreifen:

main.child.parent.name // returns "main object"
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3