Heim > Artikel > Web-Frontend > Wie kann man verschachtelte JavaScript-Objekte rekursiv durchlaufen?
Problem:
Wie man rekursiv durch ein tief verschachteltes JavaScript-Objekt iteriert, um ein abzurufen spezifisches Objekt basierend auf einem bestimmten Bezeichner (z. B. „Label“-Eigenschaft)?
Lösung:
Um gründlich zu iterieren ein verschachteltes Objekt mit Rekursion:
<code class="js">const iterate = (obj) => { Object.keys(obj).forEach((key) => { console.log(`key: ${key}, value: ${obj[key]}`); if (typeof obj[key] === 'object' && obj[key] !== null) { iterate(obj[key]); } }); }; console.log(iterate({ ...cars }));</code>
Für einen nicht-rekursiven Ansatz:
<code class="js">const iterate = (obj) => { const stack = [obj]; while (stack?.length > 0) { const currentObj = stack.pop(); Object.keys(currentObj).forEach((key) => { console.log(`key: ${key}, value: ${currentObj[key]}`); if (typeof currentObj[key] === 'object' && currentObj[key] !== null) { stack.push(currentObj[key]); } }); } }; console.log(iterate({ ...cars }));</code>
In beiden Ansätzen der Schlüssel und der Wert jedes verschachtelten Objekts werden in der Konsole protokolliert.
Das obige ist der detaillierte Inhalt vonWie kann man verschachtelte JavaScript-Objekte rekursiv durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!