Bom dia meu xará
Eu creio que tenha encontrado o que está causando esse comportamento: o bloco de código do if (achou == false)
deveria estar dentro das chaves do bloco if (sorteioDosNumeros !== 0)
. É uma situação difícil de notar mesmo mas você pode habilitar no seu editor de texto uma "dica" que sempre te mostra onde as chaves foram abertas e onde elas fecham, alguns te deixam até colorir diferente cada par. Recomendo fazer uma busca sobre.
Qualquer coisa estou colando aqui a parte que você precisa substituir:
if (sorteioDosNumeros !== 0) {
for (var posicao = 0; posicao < arrayDeNumeros.length; posicao++) {
if (arrayDeNumeros[posicao] == sorteioDosNumeros) {
achou = true;
break;
}
}
if (achou == false) {
arrayDeNumeros.push(sorteioDosNumeros);
contador++
}
}
Qualquer coisa é só retornar aqui. Abraço e bons estudos!