"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso construir recursivamente uma lista hierárquica de propriedades de um objeto complexo?

Como posso construir recursivamente uma lista hierárquica de propriedades de um objeto complexo?

Publicado em 2024-11-02
Navegar:108

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

Construção de lista de propriedades recursivas

Para percorrer um objeto complexo e extrair uma lista hierárquica de suas propriedades, considere usar uma função recursiva. Essa técnica captura efetivamente os relacionamentos aninhados dentro da estrutura do objeto.

Nosso objeto de amostra, com suas propriedades aninhadas, serve como um exemplo:

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

Para construir a lista desejada de chaves de propriedade hierarquicamente, podemos empregar uma função 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 função opera recursivamente, começando com o objeto inicial e uma pilha vazia. À medida que explora o objeto, ele constrói a string da pilha que representa o caminho hierárquico para cada propriedade.

  • Para propriedades de tipo primitivo, a função registra a chave da propriedade e seu valor.
  • Para objetos aninhados, a função chama a si mesma recursivamente, passando o objeto aninhado e anexando a chave de propriedade à string da pilha.

O resultado é uma lista de chaves de propriedade, capturando a estrutura hierárquica do objeto original .

Esta solução integra efetivamente recursão com iteração de propriedades, fornecendo uma abordagem abrangente para construir uma lista hierárquica de propriedades de objetos.

Declaração de lançamento Este artigo foi reimpresso em: 1729405459 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3