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

Em vez de aparecer um alerta, aparece todos os 5

<meta charset="UTF-8">
<input/>

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

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

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

    function verefica() {

        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 = verefica;
</script>
4 respostas

Não dá pra ver o seu código. Pode postar ele novamente usando o botão "INSERIR CÓDIGO"?

solução!

Você deve retirar o if de condição de dentro do for! Segue anexo o código corrigido!

<meta charset="UTF-8">
<input/>

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

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

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

    function verefica() {

        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 = verefica;
</script>

Olá, dei uma olhada no código, outra solução para o teu problema poderia ser essa:

<meta charset="UTF-8">
<input/>
<button> Comparar </button>

<script>

var segredos = ["1", "2", "3", "4"];
var input = document.querySelector("input");
input.focus();

function verificar()
{    
    if  (segredos.indexOf(input.value) >= 0)
    {        
        alert("Acertou!")
    } else {
        alert("Errou!")
    }
    input.value = "";    
}

var button =  document.querySelector("button");
button.onclick = verificar;
</script>

Boa noite,

Só você retirar o If de dentro do for. Outra maneira de você chegar ao resultado experado.

<meta charset="UTF-8">



<input/>

<button>submit</button>
<script>
    var chute = document.querySelector("input");
    var segredo = [3, 2, 1];

    chute.focus();

    function show(imprime) {
        document.write(imprime)
    }

    function check() {
        let achou = false;
        for (let i = 0; i < segredo.length; i++) {

            if (chute.value == segredo[i]) {
                alert("você acertou");
                achou = true;
                break;
            }
        }

        if (achou != true) {
            alert("você Errou");
        }

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

    var button = document.querySelector("button");
    button.onclick = check;
</script>