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

Olá, não estou achando meu erro. Ele só encontra o número 1, o resto dá como erro.

<meta charset="UTF-8">

<input/>
<button> Launch </button>

<hr/>

<script>

var segredos = [1,3,5,7];

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

function verifica() {

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

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

            alert("VOCÊ ACERTOU!");
            break;

            }

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

    }    

}

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

</script>
2 respostas
solução!

Oiii, Ezequiel! Como você está?

Para a verificação dos números funcionar, é necessário uma variável que vai fazer parte dessa verificação. Essa variável vai estar dentro da function verifica e vai receber false, dessa forma:

var achou = false

Se o valor que foi colocado no input for igual a algum valor do array é para ter o alert "VOCÊ ACERTOU!" e a variável achou recebe uma nova atribuição: true, pois o valor colocado no input foi encontrado no array

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

            alert("VOCÊ ACERTOU!");
            achou = true;
            break;

            }

Observei que no seu código o input.value e o input.focus() estão dentro do loop do for e para o código funcionar eles tem que estar fora, então seu código fica dessa forma:

<meta charset="UTF-8">

<input />
<button> Launch </button>

<hr />

<script>

    var segredos = [1, 3, 5, 7];

    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;

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



    }

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

</script>

Se você quiser complementar seu código com o alert "Você errou!" quando digitar um número que não está na array, é só me avisar que posso te ajudar

Em caso de mais dúvidas, me coloco à disposição.

Grande abraço e bons estudos!

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

Muitooo Obrigadoo!!!