使用遞歸建構分層屬性清單
循環複雜的嵌套物件來建構分層屬性清單是JavaScript 中的一項常見任務。給定一個具有潛在複雜結構的對象,目標是產生反映該對象結構的屬性鍵列表。
為了解決這個問題,我們可以利用遍歷該物件的遞歸函數。這是所提供函數的改進版本:
function iterate(obj, stack) { for (var property in obj) { if (obj.hasOwnProperty(property)) { if (typeof obj[property] == "object") { iterate(obj[property], stack + '.' + property); } else { console.log(property + " " + obj[property]); $('#output').append($("<div>").text(stack + '.' + property)); } } } }
在此函數中,我們維護一個名為「stack」的字串,它表示物件內的當前路徑。當我們遇到一個子物件時,我們將其屬性追加到堆疊中並繼續遞歸。對於原始屬性,我們記錄它們的路徑並將其附加到 div 中以進行視覺化。
透過使用原始物件和空初始堆疊來呼叫「迭代」函數,我們可以遞歸地建立所需的屬性鍵分層列表.
以上是如何在 JavaScript 中遞歸建立分層屬性清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!