ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript または jQuery でオブジェクト (ツリー) を再帰的に走査する方法は?
オブジェクト (ツリー) を再帰的にループする
JavaScript または jQuery では、for を使用してオブジェクトとその子孫を走査できます。 ..in ループ:
<code class="javascript">for (var key in foo) { if (key == "child") { // Do something with child } if (key == "bar") { // Do something with bar } if (key == "grand") { // Do something with grand } }</code>
for...in ループは、オブジェクトのプロトタイプから継承されたものを含む、列挙可能なすべてのプロパティを反復することに注意してください。継承されたプロパティに作用しないようにするには、hasOwnProperty:
<code class="javascript">for (var key in foo) { if (!foo.hasOwnProperty(key)) continue; if (key == "child") { // Do something with child } }</code>
Recursive Looping
を使用します。再帰的にループするには、再帰関数を作成します:
<code class="javascript">function eachRecursive(obj) { for (var key in obj) { if (typeof obj[key] === "object" && obj[key] !== null) { eachRecursive(obj[key]); } else { // Do something with primitive value } } }</code>
この関数は、オブジェクトと配列の両方を処理し、それらの入れ子構造を再帰的に走査できます。
以上がJavaScript または jQuery でオブジェクト (ツリー) を再帰的に走査する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。