Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

120
Visualizações
forEach una lista profunda y un árbol para cambiar el valor de una clave

Tengo una lista profunda y un árbol en el que quiero cambiar todas las teclas de alternancia a verdaderas, pero, debido a la estructura, es difícil de lograr.

Escribí esta función pero es inútil. Necesito una con forEach y no funciona.

 function loopThruAforest() { return state.data.map((tree) => { console.log(tree) && loopThruATree(tree) }); function loopThruATree(tree) { return tree.children.map((node) => { if (node.children !== null) { return console.log(tree) && loopThruATree(tree) } else { return node.datum; } }); } }
 { "data": [{ "datum": "String", "id": 1, "toggle": false, "children": [{ "datum": "String", "id": 2, "toggle": false, "children": [{ "datum": "String", "id": 3, "toggle": false, "children": [] }] }, { "datum": "String", "id": 4, "toggle": false, "children": [] } ] }, { "datum": "String", "id": 5, "toggle": false, "children": [{ "datum": "String", "id": 6, "children": [] }] } ]
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede intentar tener una variable to_visit para hacer un DFS:

 function loopThruAforest(data){ let to_visit = [...data]; while(to_visit.length > 0){ let current = to_visit.pop() current.toggle = true; to_visit.concat( current.children) } }
about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar Object.keys para iterar objetos y matrices. (Pero no olvide que no desea iterar cadenas).

 function setTogglesTo(data, bool) { if (!data) return for (const key of Object.keys(data)) { if (key === "toggle") data[key] = bool if (typeof data[key] != "string") setTogglesTo(data[key], bool) } } setTogglesTo(dataObj, true) console.log(dataObj)
 <script> const dataObj = [{ "datum": "String", "id": 1, "toggle": false, "children": [{ "datum": "String", "id": 2, "toggle": false, "children": [{ "datum": "String", "id": 3, "toggle": false, "children": [] }] }, { "datum": "String", "id": 4, "toggle": false, "children": [] } ] }, { "datum": "String", "id": 5, "toggle": false, "children": [{ "datum": "String", "id": 6, "children": [] }] } ]; </script>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda