問題:
如何遞歸地迭代深度嵌套的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中文網其他相關文章!