1
resposta

[Dúvida] Quando tento carregar na página do chrome, ele fica tentando carregar, mas não carrega.

<meta charset="UTF-8">

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

<script>

    function sorteia () {

        return (Math.round(Math.random() * 10));
    }
     
    function sorteiaNumeros(quantidade) {

        var segredos = [];

        var numero = 1;

        while(numero <= quantidade) {

            var numeroAleatorio = sorteia();

            if(numeroAleatorio !== 0) {

                var achou = false;

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

                    if(segredos[posicao] == numeroAleatorio){
                        achou = true;
                        break;
                    }
                }

                if(achou = false) {
                    segredos.push(numeroAleatorio());
                    numero++;
                }
            }
        }

        return segredos;
    }

    var segredos = sorteiaNumeros(3);

    console.log(segredos);

    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;
            }
        } 
                    
        if(achou == false) {
            alert('Você ERROU!')
        }

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

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

    button.onclick = verifica;

</script>
1 resposta

Oii João, tudo bem?

Percebi que o problema de não concluir o carregamento ocorre devido a um pequeno trecho de código:

if (achou = false) {
    segredos.push(numeroAleatorio());
    numero++;
}

Note que foi utilizado apenas um sinal de igual (=) quando deveriam ser dois (==). Para corrigir, é necessário alterar para:

if (achou == false) {
    segredos.push(numeroAleatorio());
    numero++;
}

Essa pequena correção fará com que o código funcione corretamente.

Também recomendo que você leia o artigo Como utilizar operadores de comparação em Javascript, pois pode te ajudar a entender melhor o motivo desse erro ter acontecido.

Qualquer dúvida, estou aqui!

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