1
resposta

o console não lê o código break

<meta charset="utf-8">

<input/>

<button>Olhe o meu segredo</button>

<script>

    // essa parte em html cria botões, o input é espaço para o usuário preencher;

    // [ ] usado para colocar mais de uma variável;

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

    //document.querySelector diz respeito ao valor que quero pegar no html e () indica o local.

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

function verifica() {

    // são 4 posições poriço espaço deve ser < 4; se mudar a quantidade de segredos, você deve colocar ".length";

    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

Olá, Lucas, tudo bem?

O problema está nessa linha do for:

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

Há um ponto e vírgula ; antes da chave {! E o mais interessante é que isso não é algo inválido. O problema é que isso acaba "separando" o bloco for do código logo abaixo. E depois, o comando break é inválido porque não está dentro do for.

Então basta tirar aquele ponto e vírgula, ou seja, substituir a linha acima por esse código abaixo:

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

Desta forma seu programa deve funcionar. Espero ter ajudado! Se tiver mais dúvidas estaremos aqui para te auxiliar. Bons estudos! :)