Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Manipulando Array - código ainda gera números repetidos

Quebrei a cabeça tentando encontrar o que poderia estar errado no código abaixo, alguém poderia me dar alguma ideia?

<meta charset = "UTF-8">

<input/>
<button>Compare 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 ();
        var achou = false;

        if (numeroAleatorio !== 0) {
                for (var posicao = 0; posicao < segredos.lenght; 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
solução!

Boa tarde Isaac!

Pelo que eu vi em seu código, dentro da função sorteiaNumeros, na condição for, você digitou segredos.lengHT ao invés de segredos.lengTH

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