Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

150
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!