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
Patricia ArquetteOriginal
2024-11-28 22:04:11808Durchsuche

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 } };

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

r.b.b2;

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";

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

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!

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