"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo atravesar un objeto (árbol) recursivamente en JavaScript o jQuery?

¿Cómo atravesar un objeto (árbol) recursivamente en JavaScript o jQuery?

Publicado el 2025-03-23
Navegar:967

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

recorriendo a través de un objeto (árbol) recursivamente

en javascript o jQuery, atravesando un objeto y sus descendientes se pueden lograr usando para ... en bucle:

[&]
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
  }
}
Tenga en cuenta que el para ... en bucle itera sobre todas las propiedades enumerables, incluidas las heredadas del prototipo del objeto. Para evitar actuar en propiedades heredadas, use aSownProperty:

for (var key in foo) {
  if (!foo.hasOwnProperty(key)) continue;
  if (key == "child") {
    // Do something with child
  }
}

recursivo bucle

para bucle recursivamente, cree una función recursiva:

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
    }
  }
}
Esta función puede manejar tanto objetos como matrices, atravesando su estructura anidada recursivamente.

Declaración de liberación Este artículo se reproduce en: 1729579817 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3