Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

75
Vistas
Javascript Gran cantidad de condiciones

Estoy creando un cuestionario para determinar qué tipo de piel tienes basado en 3 preguntas (grasa, seca, etc.)

¿Es la mejor manera de escribir la lógica para esto, algo como lo siguiente o hay una forma más eficiente de hacerlo en términos de rendimiento?

 if (q1 == 1 && q2 == 1 && q3 == 1){ skinType = "DRY" } else if (q1 == 1 && q2 == 1 && q3 == 2){ skinType = "DRY" } else if (q1 == 1 && q2 == 1 && q3 == 3){ skinType = "DRY" } else if (q1 == 1 && q2 == 1 && q3 == 4){ skinType = "DRY" } else if (q1 == 1 && q2 == 2 && q3 == 1){ skinType = "DRY" } else if (q1 == 1 && q2 == 2 && q3 == 2){ skinType = "DRY" } else if (q1 == 1 && q2 == 2 && q3 == 3){ skinType = "DRY" } else if (q1 == 1 && q2 == 3 && q3 == 1){ skinType = "DRY" } else if (q1 == 1 && q2 == 3 && q3 == 2){ skinType = "DRY" } else if (q1 == 1 && q2 == 4 && q3 == 1){ skinType = "DRY" } else if (q1 == 1 && q2 == 4 && q3 == 2){ skinType = "DRY" } else if (q1 == 1 && q2 == 2 && q3 == 4){ skinType = "COMBO" } else if (q1 == 1 && q2 == 3 && q3 == 3){ skinType = "COMBO" } else ....etc
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

En términos de rendimiento, no hay nada más rápido que una simple condición, pero no en términos de legibilidad y mantenimiento del código, que también son importantes en la codificación.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Depende de tus datos. Intente encontrar patrones o combinaciones de entrada que determinen exactamente la clase de destino (por ejemplo, q1 ==1 && q2 == 1 es siempre "DRY") y elimine las líneas redundantes.

Dado que muchas de sus combinaciones de entrada parecen dar como resultado la misma clase, es decir, DRY, COMBO, también podría intentar crear condiciones anidadas similares a un árbol de decisión .

 if (q1 == 1) { if (q2 == 1) { skinType = "DRY"; } else if (q2 == 2) { if (q3 == 4) { skinType = "COMBO"; } else { skinType = "DRY"; } } //... }

Una opción más sofisticada para construir buenos árboles de decisión es el algoritmo ID3 .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar la declaración de cambio de caso para un mejor rendimiento ("la declaración de cambio es más rápida en la mayoría de los casos en comparación con if-else").

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda