Problème :
Comment parcourir de manière récursive un objet JavaScript profondément imbriqué pour récupérer un objet spécifique basé sur un identifiant donné (par exemple, propriété "label") ?
Solution :
Pour parcourir en profondeur un objet imbriqué utilisant la récursion :
<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>
Pour une approche non récursive :
<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>
Dans les deux approches, la clé et la valeur de chaque objet imbriqué sont enregistrées dans la console.
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!