ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript でネストされたオブジェクトを再帰的に反復する方法

JavaScript でネストされたオブジェクトを再帰的に反復する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-22 20:51:03215ブラウズ

How to Recursively Iterate Through Nested Objects in JavaScript

ネストされたオブジェクトを再帰的に反復する

この調査では、ユーザーはオブジェクト、その子、およびその子孫を再帰的に反復するメカニズムを探します。さらに、検出された各ノードの名前を取得したいと考えています。

for...in ループ

解決策は、JavaScript の for...in ループにあります。このループは、オブジェクトの列挙可能なプロパティを反復処理します。これは次のように使用できます。

<code class="javascript">for (var key in foo) {
  if (key === "child") {
    // Perform an action specific to the "child" node
  }
}</code>

継承されたプロパティの処理

for...in ループは、オブジェクト自身のプロパティと継承されたプロパティの両方を反復処理できることに注意してください。継承されたプロパティへの作用を回避するには、hasOwnProperty メソッドを利用します。

<code class="javascript">for (var key in foo) {
  if (!foo.hasOwnProperty(key)) {
    continue; // Skip inherited properties
  }

  if (key === "child") {
    // Perform an action specific to the "child" node
  }
}</code>

Recursive Iteration

反復を再帰的に実行するには、再帰関数を使用できます。

<code class="javascript">function eachRecursive(obj) {
  for (var k in obj) {
    if (typeof obj[k] === "object" && obj[k] !== null) {
      eachRecursive(obj[k]); // Recurse through the nested node
    } else {
      // Perform an action specific to the non-object node
    }
  }
}</code>

以上がJavaScript でネストされたオブジェクトを再帰的に反復する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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