Pessoal, estou com muita dúvida nesse trecho. No for() dentro do while, como ele pode fazer a comparação entre segredos[posicao] == numeroAleatorio, sendo que ainda não foi atribuído nada à variável segredos? Uma vez que só será atribuído se a variável achou == false?
function sorteiaNumeros(quantidade){
var segredos = [];
var numero = 1;
while(numero <= 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);
numero++;
}
}
return segredos;
}