问题:
如何递归地迭代深度嵌套的 JavaScript 对象以检索基于给定标识符的特定对象(例如“标签”属性)?
解决方案:
深度迭代使用递归的嵌套对象:
<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>
对于非递归方法:
<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>
在这两种方法中,关键每个嵌套对象的值和值都会记录到控制台。
以上是如何递归迭代嵌套的 JavaScript 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!