Fala, Gabriel! Espero que esteja bem
Bóra lá!
Primeiro temos uma condicional onde traz a seguinte premissa: Se o numeroAleatório for diferente de zero.
- Se o número sorteado for diferente de zero, será verdadeiro e entrará nesse if
if(numeroAleatorio !== 0) {
A variável achou vai receber false
if(numeroAleatorio !== 0) {
var achou = false;
Agora, entraremos no looping for onde:
- A variável posicao iniciará com zero
- Enquanto a variável posicao for menor que a array segredos
- Incremento da variável posicao
if(numeroAleatorio !== 0) {
var achou = false;
for (var posicao = 0; posicao < segredos.length; posicao++) {
Se o número aleatório que bater ali já estiver dentro da array
- A variável a achou receberá true
- O método break será lançado para interromper o looping
if(numeroAleatorio !== 0) {
var achou = false;
for (var posicao = 0; posicao < segredos.length; posicao++) {
if (segredos[posicao] == numeroAleatorio){
achou = true;
break;
}
}
Já, se o número aleatório não coincidir com o número que já existe dentro da array
- O push vai inserir dentro da array segredos esse número que ainda não existe lá dentro
- A variável número vai somar mais um
if(numeroAleatorio !== 0) {
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++;
}
}
}
Depois de acabar o looping, ou pelo break ou pelo iterador, ele sairá e devolverá a lista de números guardados em segredos.
if(numeroAleatorio !== 0) {
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;
}
Espero ter deixado claro, Gabriel!
Um abraço e bons estudos