1
resposta

Mensagem de Violação no código

Curso Lógica de Programação I - Módulo 9 Trabalhando com muitos Dados - lição 8 Manipulando Array: O meu código esta igual ao do Flávio pois fui construindo à medida que assitia ao video. Ele funciona porém no console exibe a msg "[Violation] 'click' handler took 1411ms - adivinha_mais.html:46 (a instrução é essa: function verifica() {

<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(5);
    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

Olá Sergio,

pelo que eu consegui constatar e que você deixou de criar uma funcão na sua linha 20 , por isso está ocorrendo esse erro.

 var achou = false;