再帰を使用した階層プロパティ リストの構築
複雑なネストされたオブジェクトをループして階層プロパティ リストを構築することは、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 サイトの他の関連記事を参照してください。