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

Forma mais simples de verificar se números repetidos

Encontrei aqui no fórum uma forma mais simples de verificar se o número é repetido ou não para incluir na lista ou não, utilizando .includes. Segue:

<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 ) {

                if(segredos.includes(numeroAleatorio)) {

                }
                else {
                    segredos.push(numeroAleatorio); 
                    numero++;
                }
            }
        }

        return segredos;
    }

    var segredos = sorteiaNumeros(5);

    console.log(segredos);

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

    function verifica() {

        if(segredos.includes(input.value)){

            alert("Você ACERTOU!");
        }
        else{

            alert("Você ERROU!");    
        }

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

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

    button.onclick = verifica;


</script>

Funciona normalmente para não repetir na lista. Porém ao tentar a mesma estratégia para verificar se o input está ou nã incluso na lista (final do código), não consigo obter o alerta de vc acertou, mesmo escolhendo um número que está na lista. Alguém pode ajudar a resolver?

2 respostas
solução!

Oi Roger

Como seus números estão como inteiros você precisa converter o número do input que está como string, assim já resolveria:

segredos.includes( Number( input.value ) )

Muito Obrigado!