5
respostas

Dúvida no Array

alguém sabe o pq esse cód. nao funciona?

<meta charset="UTF-8">

<input/>
<button>Clique e confira</button>


<script>

    var segredos = [5,6,7,8,9];
    var input = document.querySelector("input");    
    input.focus();
    alert("Tente adivinhar qual número estou pensando...")

    function check (){
        var achou=false;
        for(var posicao=0; posicao < segredos.length; posicao++)
        {
        if (input.value == segredos){
            alert("Voce acertou, parabéns!")
            achou=true;
            break;
            }
        input.value=""
        input.focus();
    }}
    if(achou==false){
        alert("Voce errou!");
    }

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

</script>    
5 respostas

Oi Georg tudo bem?

Dei uma consertada no seu código. Sempre use o inspecionar para debugar seu código e o console também para ver que erro está dando.

Joguei o onclick do botão no html, o último bloco if tava fora da função check() e quando ia comparar o segredo comparava o vetor inteiro o correto é segredos[posicao].

Espero ter ajudado!!!

<meta charset="UTF-8">

<input/>
<button onclick="check();">Clique e confira</button>


<script>

    var segredos = [5,6,7,8,9];
    var input = document.querySelector("input");    
    input.focus();
    alert("Tente adivinhar qual número estou pensando...")

    function check (){
        var achou=false;
        for(var posicao=0; posicao < segredos.length; posicao++)
        {
        if (input.value == segredos[posicao]){
            alert("Voce acertou, parabéns!")
            achou=true;
            break;
            }
        input.value=""
        input.focus();
    }
      if(achou==false){
          alert("Voce errou!");
      }
    }
    var button = document.querySelector("button");
    //button.onclick=check();

</script>    

Ola Andre, obrigado pela resposta, porem seu código ficou diferente daquele feito no video pelo professor. No caso eu praticamente copiei o que foi feito no video....agr fiquei confuso rs... sempre devemos por o

<button onclick="______();">

no começo do código ou da forma como voce fez?

testei também o seu código e ele só reconhece o valor 5 mas os outros não.

Consertei, a parte que limpa o input tava dentro do for e o limpava na primeira passagem do for.

No meu navegador dá erro se eu coloco o evento de clicar no javascript. Não sei o porque (navegadores...). Se no seu não der erro pode usar.

Porém eu acho super prático colocar no html porque numa página grande ao clicar em inspecionar vou saber exatamente o que aquele botão faz ao invés de sair caçando no código javascript (as vezes são vários códigos) o que o botão faz. Mas é questão de gosto use da forma que se sentir mais confortável e funcionar no seu navegador.

ah entendi valeu a dica. mas e no caso do vetor que só está reconhecendo o primeiro elemento?

Esqueci de postar o código:

<meta charset="UTF-8">

<input/>
<button onclick="check();">Clique e confira</button>


<script>

    var segredos = [5,6,7,8,9];
    var input = document.querySelector("input");    
    input.focus();
    alert("Tente adivinhar qual número estou pensando...");

    function check (){
        var achou=false;
        for(var posicao=0; posicao < segredos.length; posicao++)
        {
        if (input.value == segredos[posicao]){
            alert("Voce acertou, parabéns!")
            achou=true;
            break;
            }

        } 
        input.value="";
        input.focus();
      if(achou==false){
          alert("Voce errou!");
      }
    }
    //var button = document.querySelector("button");
    //button.onclick=check();
</script>