Iterieren durch verschachtelte JavaScript-Objekte
Das Iterieren durch verschachtelte JavaScript-Objekte kann eine Herausforderung sein, insbesondere wenn Sie bestimmte Objekte basierend auf einer Eigenschaft abrufen müssen Wert. Betrachten wir das folgende Beispiel:
<code class="javascript">var cars = { label: 'Autos', subs: [ { label: 'SUVs', subs: [] }, { label: 'Trucks', subs: [ { label: '2 Wheel Drive', subs: [] }, { label: '4 Wheel Drive', subs: [ { label: 'Ford', subs: [] }, { label: 'Chevrolet', subs: [] } ] } ] }, { label: 'Sedan', subs: [] } ] };</code>
Wenn wir das Objekt für die Marke „Ford“ abrufen möchten, können wir einen rekursiven Ansatz verwenden:
<code class="javascript">const iterate = (obj, identifier) => { for (let key in obj) { if (obj[key]['label'] === identifier) { return obj[key]; } if (typeof obj[key] === 'object' && obj[key] !== null) { const result = iterate(obj[key], identifier); if (result) { return result; } } } return null; }; const fordObject = iterate(cars, 'Ford');</code>
In diesem Beispiel ist das Die Iterate-Funktion benötigt zwei Parameter: das zu durchsuchende Objekt und die Kennungszeichenfolge. Es durchläuft die Eigenschaften des Objekts und prüft, ob die Beschriftungseigenschaft mit dem Bezeichner übereinstimmt. Wenn nicht, prüft es, ob es sich bei der Eigenschaft um ein anderes Objekt handelt, und setzt die Iteration fort. Wenn kein passendes Objekt gefunden wird, wird null zurückgegeben.
Das obige ist der detaillierte Inhalt vonWie kann man ein bestimmtes Objekt in verschachtelten JavaScript-Objekten effizient finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!