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

171
Visualizações
El árbol de orden N hace que todos los padres sean falsos si alguno de los últimos hijos es verdadero

1. Tengo un caso de uso en el que quiero que el padre se haga falso si el último hijo "isSelected" es verdadero. Por ejemplo, el id 4 isSelcted es verdadero, por lo que los padres de 4 son 3,2,1, cuya clave en la que se hizo clic debe hacerse falsa.

2.Ejemplo 2: si el Id. 7 isSelected es verdadero, entonces su padre 6,2,1 cuya tecla se hizo clic debe hacerse falsa.

3. Tengo un árbol en angular, en la página de edición tendré datos en el formato anterior. Tengo que expandir el árbol si se selecciona alguno de los niños. Por ejemplo, id 4 es el último elemento secundario que contiene isSelected falg y es verdadero. Por lo tanto, tengo que hacer que todos los padres hagan clic en falso para que, al usar la propiedad ngbBootstrap [collapse], expanda el árbol.

4.reduce se usa para verificar si algún elemento secundario tiene un valor o si se hizo clic, si es así, agréguelo al acumulador, !1 se usa para inicializar el acumulador a 0. del valor que es falso. Para comprobar el final del árbol. es decir, el último elemento secundario isSelcted se utiliza para el operador ternario.

5. Este código no funciona porque me falta algo, corrija dónde me está yendo mal.

 let update = o => o.children ? !o.clicked = o.children.reduce((a, c) => a || o.clicked || update(c), !1) : o.isSelected; update(object); console.log(object); let object = { children: [{ ID: 1, clicked: false, children: [{ ID: 2, clicked: ture, children: [{ ID: 3, clicked: true, children: [{ ID: 4, isSelected: true }, { ID: 5, isSelected: true } ] }, { ID: 6, clicked: false, children: [{ ID: 7, isSelected: false }, { ID: 8, isSelected: false } ] } ] }, { ID: 9, clicked: true, children: [{ ID: 10, isSelected: false }, { ID: 11, isSelected: true } ] } ] }] }
about 4 years ago · Juan Pablo Isaza
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