Segue o trecho:
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.length; posicao++) {
if(segredos[posicao] == numeroAleatorio){
achou = true;
break;
}
}
Digamos que na função sorteia números passei o parâmetro 3 então eu terei 3 números para comparar os valores.
Daí a var numeroAleatório pega um número entre 0 e 10. Se esse número for diferente de zero faço um loop e aí é que não entendi o que o código faz:
1° Parte não entendida:
Na primeira interação do While minha var segredos , até aqui é um array vazio com posição [0]. Daí meu for me diz o seguinte, se a variável posição, que é igual nesse primeiro momento a zero, for menor que a quantidade de elementos da minha variável segredos, que também é zero incremente posição.
2° Parte não entendida:
Segue as dúvidas no próximo trecho de código:
if(segredos[posicao] == numeroAleatorio){
Aqui nessa primeira volta do While eu comparo a Var numero aleatório, que até aqui vai ter um valor, com minha array segredo na sua primeira posição que está em zero. Espero que tenha sido claro.