Bei dieser Untersuchung sucht der Benutzer nach einem Mechanismus, um rekursiv über ein Objekt, seine untergeordneten Objekte und seine Nachkommen zu iterieren. Darüber hinaus möchten sie den Namen jedes gefundenen Knotens abrufen.
Die Lösung liegt in der JavaScript-for...in-Schleife. Diese Schleife durchläuft die aufzählbaren Eigenschaften eines Objekts. Es kann wie folgt verwendet werden:
<code class="javascript">for (var key in foo) { if (key === "child") { // Perform an action specific to the "child" node } }</code>
Beachten Sie, dass die for...in-Schleife sowohl über die eigenen Eigenschaften des Objekts als auch über geerbte Eigenschaften iterieren kann. Um zu vermeiden, auf geerbte Eigenschaften einzuwirken, verwenden Sie die Methode hasOwnProperty:
<code class="javascript">for (var key in foo) { if (!foo.hasOwnProperty(key)) { continue; // Skip inherited properties } if (key === "child") { // Perform an action specific to the "child" node } }</code>
Um die Iteration rekursiv durchzuführen, kann eine rekursive Funktion verwendet werden:
<code class="javascript">function eachRecursive(obj) { for (var k in obj) { if (typeof obj[k] === "object" && obj[k] !== null) { eachRecursive(obj[k]); // Recurse through the nested node } else { // Perform an action specific to the non-object node } } }</code>
Das obige ist der detaillierte Inhalt vonSo iterieren Sie rekursiv durch verschachtelte Objekte in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!