Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Módulo 09, Aula 01

Bom dia! Poderiam me ajudar com uma dúvida? Não consigo localizar o erro no meu código.

<meta charset="UTF-8">

<input>
<button> Compare com 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;
            } 
        }

        if (achou = false) {

            alert("Você errou!");
        }

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

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


</script>
1 resposta
solução!

Oi, tudo bem?

Verifiquei o seu código e percebi que ao errar o chute, nenhum alerta aparece. Este problema ocorre, pois na função verifica() a condição responsável pelo alerta "Você errou" está escrita utilizando apenas um sinal de igual, que em programação significa uma atribuição e não uma igualdade.

Podemos fazer com que o alerta seja emitido utilizando o seguinte comando na função verifica():

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

Perceba que no parênteses que serve de parâmetro para a condição, foram utilizados dois sinais de igual seguidos, esta simbologia na programação se refere à igualdade e o comando pode ser lido da seguinte forma: "Se achou for igual a falso então emita o alerta 'Você errou'".

Espero ter ajudado. Caso tenha outras dúvidas, estarei à disposição!

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!