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

70
Visualizações
Refactor de código de React js/ javascript para loop/switch

Tengo el siguiente código donde obtengo 4 atributos diferentes, necesito verificar cada uno si es verdadero e incrementar el conteo

 var count = 0; if (props.isApple) { count += 1; } if (props.isOranges) { count += 1; } if (props.isBanana) { count += 1; } if (props.isJackfruit) { count += 1; } console.log(count);

¿Hay alguna manera simple o mejor de hacer esto? ¿¿Alguna sugerencia??

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Parece un trabajo para reducir

 const props = { isApple: true, isOranges: false, isBanana: true, isJackfruit: true } // 3 true values const checks = ["isApple", "isOranges", "isBanana", "isJackfruit"]; const count = checks.reduce((sum, check) => sum + (props[check] ? 1 : 0), 0); console.log("count", count)

Esto itera la lista de controles y agrega uno a la suma si esa propiedad es verdadera en props .

Si quisiera que fuera más dinámico e inclusivo de todas las propiedades de prop , podría definir las checks como...

 const checks = Object.keys(props)

Dado que ha etiquetado esto con reactjs , usaría el memo hook para evitar un recálculo innecesario

 import { useMemo } from "react"; const checks = ["isApple", "isOranges", "isBanana", "isJackfruit"]; const YourComponent = (props) => { const count = useMemo(() => checks.reduce((sum, check) => sum + (props[check] ? 1 : 0), 0), [ props ] ); // etc }
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