Maison > Article > interface Web > Comment rechercher un objet spécifique dans un objet JavaScript imbriqué par étiquette ?
Pour parcourir un objet JavaScript imbriqué et localiser un objet avec une étiquette spécifique, suivez ces étapes :
Pour parcourir de manière récursive les éléments imbriqués object :
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
Pour une approche non récursive :
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]); } }); } };
Considérons l'objet imbriqué suivant :
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: [] } ] };
Pour récupérer l'objet portant le label "4 Wheel Drive" en utilisant l'approche récursive, appelez :
iterate(cars);
Pour récupérer le même objet en utilisant l'approche non récursive, appelez :
iterate(cars);
Cela enregistrera toutes les paires clé-valeur dans l'objet imbriqué, y compris l'objet souhaité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!