4
respostas

Não tenho nem ideia do problema, mas o console diz que está na linha 32 "button.onclick= verifica"

<meta charset="UTF-8">
<input/>
<button>compare com o meu segredo</button>
<script>
    var segredos =[5,10,12,35,24,1]
    var input=document.querySelector("input");
     var achou= false
    input.focus()
    function verifica(){

        var achou = false;
        for(var posicao = 0; posicao < segredos.lenght; 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>
4 respostas

Olá Mário,

Depois deste trecho de código:

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

faltou um "}" para fechar a função "verifica". Ficaria assim:

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

Além disto, não relacionado ao problema, o ideal é finalizar todas linhas de instruções sempre com ";". Neste momento não faz diferença mas no futuro pode ser importante, além de melhorar a leitura do código.

tudo bem mas ele ainda nao retorna positivo aos valores que estao no array

<meta charset="UTF-8">
<input/>
<button>compare com o meu segredo</button>
<script>
    var segredos =[5,10,12,35,24,1]
    var input=document.querySelector("input");
     var achou= false
    input.focus()
    function verifica(){

        var achou = false;
        for(var posicao = 0; posicao < segredos.lenght; 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>

Onde está escrito:

segredos.lenght

você deve inverter o "h" e o "t", escrevendo desta forma:

segredos.length

Também alteraria alguns pontos:

no código:

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

a linha "var achou= false" pode ser removida pois esta variável já está sendo declarada dentro da function "verifica" e só faz sentido no escopo desta função.

Este trecho de código:

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

poderia estar dentro da function, no final dela, para independente de acerto ou erro, o campo input ser limpo e receber o foco.

Oi Mário Pereira da Silva Filho ainda restou alguma dúvida ou já foi solucionada ?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software