Heim > Artikel > Web-Frontend > Wie finde ich ein bestimmtes Objekt in einem verschachtelten JavaScript-Objekt anhand der Bezeichnung?
Um ein verschachteltes JavaScript-Objekt zu durchlaufen und ein Objekt mit einer bestimmten Beschriftung zu finden, führen Sie die folgenden Schritte aus:
Um das verschachtelte Objekt rekursiv zu durchlaufen:
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]) } }) } iterate(obj); // obj is the main object to be traversed
Für einen nicht-rekursiven Ansatz :
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]); } }); } };
Betrachten Sie das folgende verschachtelte Objekt:
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: [] } ] };
Um das Objekt mit der Bezeichnung " abzurufen 4 Wheel Drive“ mit dem rekursiven Ansatz aufrufen, rufen Sie auf:
iterate(cars);
Um dasselbe Objekt mit dem nicht-rekursiven Ansatz abzurufen, rufen Sie auf:
iterate(cars);
Dadurch werden alle Schlüssel- Wertepaare im verschachtelten Objekt, einschließlich des gewünschten Objekts.
Das obige ist der detaillierte Inhalt vonWie finde ich ein bestimmtes Objekt in einem verschachtelten JavaScript-Objekt anhand der Bezeichnung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!