Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie durchläuft man ein Objekt (Baum) rekursiv in JavaScript oder jQuery?

Linda Hamilton
Freigeben: 2024-10-22 20:56:10
Original
314 Leute haben es durchsucht

How to Traverse an Object (Tree) Recursively in JavaScript or jQuery?

Rekursives Durchlaufen eines Objekts (Baums)

In JavaScript oder jQuery kann das Durchlaufen eines Objekts und seiner Nachkommen mithilfe des for erreicht werden. ..in-Schleife:

<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>
Nach dem Login kopieren

Beachten Sie, dass die for...in-Schleife alle aufzählbaren Eigenschaften durchläuft, einschließlich der vom Prototyp des Objekts geerbten. Um zu vermeiden, dass auf geerbte Eigenschaften eingegriffen wird, verwenden Sie hasOwnProperty:

<code class="javascript">for (var key in foo) {
  if (!foo.hasOwnProperty(key)) continue;
  if (key == "child") {
    // Do something with child
  }
}</code>
Nach dem Login kopieren

Rekursive Schleife

Um eine rekursive Schleife durchzuführen, erstellen Sie eine rekursive Funktion:

<code class="javascript">function eachRecursive(obj) {
  for (var key in obj) {
    if (typeof obj[key] === "object" &amp;&amp; obj[key] !== null) {
      eachRecursive(obj[key]);
    } else {
      // Do something with primitive value
    }
  }
}</code>
Nach dem Login kopieren

Diese Funktion kann sowohl Objekte als auch Arrays verarbeiten und ihre verschachtelte Struktur rekursiv durchlaufen.

Das obige ist der detaillierte Inhalt vonWie durchläuft man ein Objekt (Baum) rekursiv in JavaScript oder jQuery?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!