Maison > interface Web > js tutoriel > le corps du texte

Comment parcourir de manière récursive des objets imbriqués en JavaScript

Patricia Arquette
Libérer: 2024-10-22 20:51:03
original
213 Les gens l'ont consulté

How to Recursively Iterate Through Nested Objects in JavaScript

Itération récursive sur des objets imbriqués

Dans cette enquête, l'utilisateur recherche un mécanisme pour parcourir un objet, ses enfants et ses descendants de manière récursive. De plus, ils souhaitent récupérer le nom de chaque nœud rencontré.

La boucle for...in

La solution réside dans la boucle JavaScript for...in. Cette boucle parcourt les propriétés énumérables d'un objet. Il peut être utilisé comme suit :

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

Gestion des propriétés héritées

Notez que la boucle for...in peut parcourir à la fois les propriétés propres de l'objet et les propriétés héritées. Pour éviter d'agir sur les propriétés héritées, utilisez la méthode 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>
Copier après la connexion

Itération récursive

Pour effectuer l'itération de manière récursive, une fonction récursive peut être utilisée :

<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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal