Por que ele está gerando apenas 4 números se eu coloquei 5 dentro da função sorteiaNumeros? E se eu colocar posicao = 1 ele nunca gera o número 0. Isso faz a regra do !== ser desnecessária?
O que estou fazendo de errado?
<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 contador = 1;
        while(contador < quantidade){
            var numeroAleatorio = sorteia();
            var achou = false;
            for(var posicao = 0; posicao < segredos.length; posicao++) {
                     if(segredos[posicao] == numeroAleatorio){
                           achou = true;
                           break;
                       }
                   }
            if (achou == false){
            segredos.push(numeroAleatorio);    
            contador++;
            }
        }
        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>