Heim >Web-Frontend >js-Tutorial >So durchlaufen Sie tief verschachtelte Objektstrukturen mit rekursiver Schleife in JavaScript

So durchlaufen Sie tief verschachtelte Objektstrukturen mit rekursiver Schleife in JavaScript

DDD
DDDOriginal
2024-10-22 15:04:021044Durchsuche

How to Traverse Deeply Nested Object Structures with Recursive Looping in JavaScript

Rekursive Schleife komplexer Objekte in JavaScript

Ihr Ziel ist es, eine tief verschachtelte Objektstruktur in JavaScript zu durchlaufen und dabei auf den Namen und die Eigenschaften jedes Objekts zuzugreifen Kinder, Enkelkinder usw.

Die for...in-Schleife

Ein Ansatz besteht darin, die for...in-Schleife zu verwenden:

<code class="javascript">for (var key in foo) {
    if (key === "child") {
        // Do something with the child
    }
    else if (key === "bar") {
        // Do something with the bar
    }
    else if (key === "grand") {
        // Do something with the grand
    }
}</code>

Umgang mit Prototyp-Eigenschaften

Seien Sie vorsichtig bei der Verwendung von for...in, da dadurch auch vom Prototyp geerbte Eigenschaften iteriert werden. Um dies zu vermeiden, verwenden Sie die Methode hasOwnProperty:

<code class="javascript">for (var key in foo) {
    if (!foo.hasOwnProperty(key)) continue;  // Skip inherited properties
    if (key === "child") {
        // Do something with the child
    }
    // ...
}</code>

Rekursive Funktionen

Für rekursive Schleifen sollten Sie erwägen, eine rekursive Funktion zu definieren:

<code class="javascript">function eachRecursive(obj) {
    for (var k in obj) {
        if (typeof obj[k] === "object" && obj[k] !== null) {
            eachRecursive(obj[k]);  // Recurse into sub-objects
        }
        else {
            // Do something with key-value pairs
        }
    }
}</code>

Diese Funktion durchläuft das Objekt und durchläuft rekursiv alle verschachtelten Objekte.

Verwendung

Um diese Lösungen anzuwenden, rufen Sie einfach Folgendes auf:

<code class="javascript">eachRecursive(foo);</code>

Das obige ist der detaillierte Inhalt vonSo durchlaufen Sie tief verschachtelte Objektstrukturen mit rekursiver Schleife 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