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> 
            