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
¿El bucle de JavaScript finaliza temprano después de una entrada especial?
let num_cap=parseInt((Math.round(prompt("Enter the highest number for your Higher-Lower game:")))); while(isNaN(num_cap)) { alert("Input must be a number, try again."); num_cap=parseInt((Math.round(prompt("Enter the max number:")))); } while(num_cap<=1) { alert("Number must be greater than 1, try again."); num_cap=parseInt((Math.round(prompt("Enter the highest number for your Higher-Lower game:")))); }

Soy nuevo en programación, específicamente javascript. Escribí un juego de conjeturas de mayor a menor y resolví casi todos los problemas que encontré en el código, además de un problema en el que si mi primer ciclo while se activa y nuevamente solicita al usuario que ingrese, si luego ingreso una entrada que debería activar el segundo ciclo while, todavía pasa de todos modos. Este problema no ocurre si simplemente comienzo ingresando una entrada que activa el segundo ciclo while sin activar el primero. Solo sucede si activé el primer ciclo while de antemano.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Debe verificar ambos requisitos (el número es válido y también mayor que 1) al mismo tiempo.

 let num_cap=parseInt((Math.round(prompt("Enter the highest number for your Higher-Lower game:")))); while(isNaN(num_cap) || num_cap <= 1) { alert("Input must be a number larger than 1, try again."); num_cap=parseInt((Math.round(prompt("Enter the max number:")))); }

Este es otro ejemplo que prefiero porque hace el análisis una vez, en un solo lugar, también la verificación de validación es más simple, solo num_cap > 1 :

 let num_cap, isValid; do { num_cap=parseInt((Math.round(prompt("Enter the max number:")))); isValid = num_cap > 1; if(isValid) { break; } alert("Input must be a number larger than 1, try again."); } while(!isValid);
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