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

127
Vistas
Múltiples y diferentes condiciones en Javascript

Tengo un problema con la lógica. Si el número es mayor que 0 y menor que 10 Y el número es 11 Y el número es 22 haz algo. (1, 2, 3, 4, 5, 6, 7, 8, 9, 11 o 22).

Y DE LO CONTRARIO, SI el número es mayor que 10 PERO NO es 11 o NO es 22 , haz otra cosa. (10, 12, 13....20, 21, 23, 24...)

Solo tengo que hacerlo con 11, pero no tengo ni idea de cómo insertar otra condición con 22.

 if (n >= 0 && n < 10) || (n == 11 && n == 22) { do something } else if (n >= 10 && n != 11) && (n != 22) { do something else }
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Prueba (n >= 1 && n <= 9) || n == 11 || n == 22 que verificará si el número está entre 1 y 9 inclusive (1 a 9) O es 11 O es 22.

Luego, en su else if, simplemente busque >= 10 - los números menores que 1, por ejemplo, 0, tampoco activarán el else.

 if ((n >=1 0 && n <= 9) || n == 11 || n == 22) { do something } else if (n >= 10) { do something else }

Use >= y <= para aclarar qué valores está buscando; de lo contrario, se necesita un poco de carga mental adicional para darse cuenta de que n > 0 && n < 10 realmente significa valores del 1 al 9.

Además, es JavaScript y los números pueden ser integrales o de coma flotante, por lo que mayor que cero podría ser 0.1, etc.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Basado en su ejemplo de (1, 2, 3, 4, 5, 6, 7, 8, 9, 11 o 22), parece que esto es lo que está buscando.

 if ((n > 0 && n < 10) || n == 11 || n == 22) { // do something } else if (n >= 10) { // do something else }

Editar: se agregó else if (n >= 10) que pasé por alto

about 4 years ago · Juan Pablo Isaza Denunciar

0

En su declaración if, usted dice:

n es mayor o igual a 0 Y n es menor que 10 O n es igual a 11 Y n es igual a 22

Lo que significa que el bloque if se ejecutará para números que están entre 0 y 9 (inclusive) O para los números 11 Y 22. Entonces, el número puede estar entre 0 y 9 o puede ser AMBOS 11 y 22, lo cual es imposible.

Mi opinión sobre la declaración if:

 if (n >= 1 && n <= 9 || n == 11 || n == 22) { do something; }

De esa manera, no se confundirá con la numeración inclusiva y exclusiva y se asegurará de que se permita 11 o 22.

El segundo bloque se ejecutará para números mayores o iguales a 10 Y no 11 Y no 22. Lo cual está bien.

 else if (n >= 10 && n != 11 && n != 22) { do something else; }

En esta respuesta, supongo que no desea omitir por completo el 10. Si lo hace, entonces en la segunda declaración, verificaría n > 10 .

Lógicamente, esto es sonido. Sin embargo, no creo que deba verificar 11 y 22 en el segundo, ya que el bloque if se ejecutará primero y si el número es 11 o 22, se ejecutará el primer bloque if. Entonces, el segundo no necesita tenerlos en cuenta.

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