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:
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: []
}
]
};
Wenn wir das Objekt für die Marke „Ford“ abrufen möchten, können wir einen rekursiven Ansatz verwenden:
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');
In diesem Beispiel benötigt die Iterate-Funktion 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.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3