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

N consigo encontrar o erro no codigo.

<meta charset="UTF-8">

<input/>
<button>Compare your number with mine</button>

<script>
    var secrets = [4,5,7,9];
    //Quando o codigo é executado, apenas o número 4 exibe o alert na tela. Quando outro número é colocado na input box o código não exibe nada com o click no botão.// 

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

    function verifica(){

        var achou = false;
        for(var position = 0; position < secrets.length; postion++) {
            if(input.value == secrets[position]) {

                alert("It's the same number!!!");
                achou = true;
                break;

            } 
        }

        if(achou == false) {
            alert("Try a different number.")
        }

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

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

button.onclick = verifica; 

</script>
2 respostas
solução!

Bom dia, Pedro.

Dentro do seu "for", vc ta incrementando "postion++" e não "position++".

Alterando já deve funcionar!

Bom dia, O Alexandre está certo, você deveria fazer isto:

function verifica(){

        var achou = false;
        for(var position = 0; position < secrets.length; position++) {
            if(input.value == secrets[position]) {

                alert("It's the same number!!!");
                achou = true;
                break;

            } 
        }

O mais puro exemplo de que as vezes os pequenos detalhes fazem a total diferença. O que deveria ser position++ ficou como postion++.

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