Heim > Web-Frontend > js-Tutorial > Wie kann ich mithilfe einer Punktnotationszeichenfolge auf verschachtelte JavaScript-Objekteigenschaften zugreifen?

Wie kann ich mithilfe einer Punktnotationszeichenfolge auf verschachtelte JavaScript-Objekteigenschaften zugreifen?

Patricia Arquette
Freigeben: 2024-11-28 22:04:11
Original
872 Leute haben es durchsucht

How Can I Access Nested JavaScript Object Properties Using a Dot Notation String?

Zugriff auf verschachtelte Objekteigenschaften mithilfe von Punktnotationszeichenfolgen in JavaScript

Beim Bearbeiten von Objekten ist es häufig erforderlich, auf tief verschachtelte Eigenschaften zuzugreifen. Dies lässt sich zwar mit Punktnotation und Klammernotation erreichen, sie erfordern jedoch die individuelle Angabe jeder Verschachtelungsebene. Dies kann bei komplexen Objekten mühsam und fehleranfällig werden.

Eine praktische Lösung besteht darin, eine Punktnotationszeichenfolge zu verwenden, um direkt auf die Eigenschaften von untergeordneten Objekten zuzugreifen. Stellen Sie sich ein Objekt mit der folgenden Struktur vor:

const r = { a: 1, b: { b1: 11, b2: 99 } };
Nach dem Login kopieren

Um mit der Punktnotation auf den Wert 99 zuzugreifen, schreiben Sie normalerweise:

r.b.b2;
Nach dem Login kopieren

Was aber, wenn Sie dynamisch auf den Wert 99 zugreifen möchten? Eigenschaft unter Verwendung einer variablen Zeichenfolge, wie zum Beispiel:

const s = "b.b2";
Nach dem Login kopieren

In diesem Szenario einfache Punktnotation (z. B. r.s) oder Klammernotation (r[s]) funktioniert nicht.

Benutzerdefinierte Funktion zum Abrufen von Eigenschaften

Ein Ansatz besteht darin, eine benutzerdefinierte Funktion zu erstellen, um die Zeichenfolge durch das Punktzeichen zu teilen und iterativ auf die Eigenschaften zugreifen:

function getDescendantProp(obj, desc) {
    const arr = desc.split(".");
    while (arr.length && (obj = obj[arr.shift()]));
    return obj;
}

console.log(getDescendantProp(r, "b.b2")); // 99
Nach dem Login kopieren

Diese Funktion vereinfacht den Zugriff auf verschachtelte Eigenschaften mithilfe einer Zeichenfolgendarstellung. Sie können es auch erweitern, um den Array-Indexzugriff zu verarbeiten, indem Sie das Teilungszeichen entsprechend ändern.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe einer Punktnotationszeichenfolge auf verschachtelte JavaScript-Objekteigenschaften zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage