2
respostas

Função não faz a varredura no array

Olá, estou revisando a aula, mas tenho encontrado dificuldades, pois o "Acertou" só funciona quando digito o 1º valor corretamente. Caso eu digite o valor da segunda posição em diante, informa apenas o "Errou".

<meta charset="utf-8">

<input/>
<button>Compare com o meu segredo</button>

<script>

    segredos = [6, 8, 1, 4]

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

    function verifica(){

        for(var posicao = 0; posicao < 4; posicao++){

            if(input.value == segredos[posicao]){
                alert("Acertou!");
                break;
            }else{
                alert("Errou!");

            }

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

        }

    }

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

</script>
2 respostas

Resolvido!

O problema se deu na quantidade e na organização chaves. O código funcionava apenas, como informado, quando acertava o primeiro valor. Com a correção nas chaves, o código passou identificar a posição certa.

Oi, Felipe, tudo bem?

Fico feliz que tenha conseguido resolver.

Pelo que vi, o valor do input estava sendo zerado após a primeira repetição do for, por isso estava ocorrendo o erro.

Abraços e bons estudos!