Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Mesmo acertando o número aparece "Você acertou" e "Você errou"

<meta charset="UTF-8">

<input/>

<button>Compare o meu segredo!</button>

<script>

    var segredos = [5,7,10,2,3];

    var input = document.querySelector("input");
    input.focus();

    function verifica() {

        var achou = false;

        for (var posicao = 0; posicao < segredos.length; posicao++) {

            if(input.value == segredos[posicao]) {

                alert("Você acertou!");
                achou = true;
                break;
            }
        }

        alert("Você errou!");

        input.value = "";
        input.focus();
    }

    var button = document.querySelector("button");

    button.onclick = verifica;

</script>

Estou revisando o meu código atrás do erro, mas não estou conseguindo identificar. Mesmo colocando o número certo, aparece tanto a mensagem de "acertou" quanto a de "errou". Vi a outra dúvida parecida com essa, mas o segredos.length está escrito certo. Poderiam me ajudar?

2 respostas
solução!

Olá Heloisa,

o problema é que no trecho do código

alert("Você errou!");

faltou uma condição:

if (achou == false)
      alert("Você errou!");

ou de outra forma simplificada:

if (!achou)
      alert("Você errou!");

Oi, André! Muito obrigada, agora foi :)