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

148
Vistas
Si las declaraciones no se mueven a la declaración else en un juego de azar en JavaScript

Hola, estoy escribiendo prácticamente un juego de azar con JavaScript y, por alguna razón, incluso cuando se da la respuesta correcta, muestra que perdiste. He intentado cambiar las condiciones if pero no soy lo suficientemente versado como para resolverlo. Esta es la primera vez que hago una pregunta aquí. Si necesita más información, le proporcionaré lo que sé y, si ya se ha respondido, no pude encontrarlo o no lo reconocí como la respuesta, como dije. Todavía soy bastante nuevo. en la codificación en general.

este es el html

 <h3>CAN YOU GUESS MY NUMBER!!</h3> <h4>You get two guess and my number is random every time you try. Goodluck!</h4> <input type="text" onkeyup="guessOneCheck(this)" placeholder="enter your guess 1-10" id="guessOne" maxlength="2"> <input type="text" onkeyup="guessTwoCheck(this)" placeholder="enter your guess 1-10" id="guessTwo" maxlength="2"> <button id="submit__Guesses" onclick="bothWrong()">SUBMIT GUESSES</button> <div id="guessAnswer"></div> <script src="main.js"></script>

este es el javascript

 let guessOne = '' let guessTwo = '' const guessOneCheck = (g1) => { guessOne = g1.value console.log(g1.value) } const guessTwoCheck = (g2) => { guessTwo = g2.value console.log(g2.value) } const bothWrong = () =>{ let randomNum = Math.floor((Math.random() *10) + 1); console.log(randomNum) if(guessOne !== randomNum && guessTwo !== randomNum){ document.getElementById('guessAnswer').innerHTML = 'HaHa you lose better luck next time!! My number was' + ' ' + randomNum; } else if(guessOne == randomNum || guessTwo == randomNum){ document.getElementById('guessAnswer').innerHTML = 'What! No you cheated, or omg are you a psychic!!! My number was' + ' ' + randomNum; } }
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

El error aquí es esta línea:

 if (guessOne !== randomNum && guessTwo !== randomNum) {

!== es una verificación estricta que compara tanto el valor como el tipo. Si bien el valor puede ser correcto, el tipo no lo será porque está tomando adivinar uno y adivinar dos de los campos de entrada, lo que significa que son cadenas, mientras que randomNum es del tipo Número. Tienes que convertirlos en números, lo que puedes hacer así:

 const guessOneCheck = (g1) => { guessOne = +g1.value console.log(g1.value) } const guessTwoCheck = (g2) => { guessTwo = +g2.value console.log(g2.value) }

Debería funcionar bien después de eso

about 4 years ago · Juan Pablo Isaza Denunciar

0

Tu adivinaUno y adivinaDos son cadenas. Si console.log, verá, por ejemplo, "1" . Necesitas convertir cadena a número usando +guessOne y +guessTwo :

 if(+guessOne !== randomNum && +guessTwo !== randomNum){ document.getElementById('guessAnswer').innerHTML = 'HaHa you lose better luck next time!! My number was' + ' ' + randomNum; } else if(+guessOne == randomNum || +guessTwo == randomNum){ document.getElementById('guessAnswer').innerHTML = 'What! No you cheated, or omg are you a psychic!!! My number was' + ' ' + randomNum; }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Hay dos soluciones a este error.

  1. No compare usando '===' o '!=='. También conduce a la verificación de tipo, lo que significa que si el número ingresado es '3' (que es un tipo de cadena) y su comparación será con un número 3 que dará como resultado falso a medida que se realiza la verificación de tipo. En su lugar, use != or ==

  2. Convierta la cadena ingresada en un número antes de la comparación, esto se puede hacer por Number(enteredNumber) o let number = +enteredNumber

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