首頁  >  文章  >  web前端  >  如何在 JavaScript 中遞歸建立分層屬性清單?

如何在 JavaScript 中遞歸建立分層屬性清單?

Barbara Streisand
Barbara Streisand原創
2024-10-20 14:28:02519瀏覽

How to Recursively Create Hierarchical Property Lists in JavaScript?

使用遞歸建構分層屬性清單

循環複雜的嵌套物件來建構分層屬性清單是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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn