"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 puedo construir recursivamente una lista de propiedades jerárquicas de un objeto complejo?

¿Cómo puedo construir recursivamente una lista de propiedades jerárquicas de un objeto complejo?

Publicado el 2024-11-02
Navegar:150

How can I recursively construct a hierarchical property list of a complex object?

Construcción de lista de propiedades recursiva

Para recorrer un objeto complejo y extraer una lista jerárquica de sus propiedades, considere usar una función recursiva. Esta técnica captura eficazmente las relaciones anidadas dentro de la estructura del objeto.

Nuestro objeto de muestra, con sus propiedades anidadas, sirve como ejemplo:

var object = {
    aProperty: {
        aSetting1: 1,
        aSetting2: 2,
        aSetting3: 3,
        aSetting4: 4,
        aSetting5: 5
    },
    bProperty: {
        bSetting1: {
            bPropertySubSetting : true
        },
        bSetting2: "bString"
    },
    cProperty: {
        cSetting: "cString"
    }
}

Para construir jerárquicamente la lista deseada de claves de propiedad, podemos emplear una función recursiva como esta:

function iterate(obj, stack) {
    for (var property in obj) {
        if (obj.hasOwnProperty(property)) {
            if (typeof obj[property] == "object") {
                iterate(obj[property], stack   '.'   property);
            } else {
                console.log(property   "   "   obj[property]);
                $('#output').append($("
").text(stack '.' property)) } } } } iterate(object, '')

Esta función opera de forma recursiva, comenzando con el objeto inicial y una pila vacía. A medida que explora el objeto, construye la cadena de pila que representa la ruta jerárquica a cada propiedad.

  • Para propiedades de tipo primitivo, la función registra la clave de propiedad y su valor.
  • Para objetos anidados, la función se llama a sí misma de forma recursiva, pasa el objeto anidado y agrega la clave de propiedad a la cadena de la pila.

El resultado es una lista de claves de propiedad, que captura la estructura jerárquica del objeto original. .

Esta solución integra eficazmente la recursividad con la iteración de propiedades, proporcionando un enfoque integral para construir una lista jerárquica de propiedades de objetos.

Declaración de liberación Este artículo se reimprime en: 1729405459 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