ホームページ  >  記事  >  ウェブフロントエンド  >  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 に追加します。

元のオブジェクトと空の初期スタックを使用して「iterate」関数を呼び出すことにより、プロパティ キーの目的の階層リストを再帰的に構築できます。 .

以上がJavaScript で階層プロパティ リストを再帰的に作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。