Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Manipulando Array

while(numero <= quantidade) {

            var numeroAletorio = sorteia();
            var achou = false;

            for(var posicao = 0; posicao < segredos.length; posicao++) {
                if(segredos[posicao] == numeroAletorio) {
                    achou = true;
                    break;
                }
            }

            if(achou == false){
                segredos.push(numeroAletorio);
                numero++;
            } 

Então, eu tenho uma dúvida sobre essa parte do código, teria como alguém me explicar esse while ? Eu fiquei meio confuso sobre o for , os if e as var

1 resposta
solução!

O while está verificando se um numero é menor ou igual a uma quantidade. Enquanto essa condição for verdadeira, true, o programa executará o código do bloco.

O que acontece dentro do bloco? Foram declaradas as variáveis numeroAletorio, que recebe uma função chamado sorteia, e, uma variável chamada achou que inicia com o valor false.

Depois, começa o outro laço de repetição, forque, será executado com as seguintes condições:

  1. A variável posicao começa com o valor 0;
  2. Enquanto posicao for menor do que o tamanho de segredos(segredos.lenght) o código desse bloco será executado;
  3. Ao final da execução do bloco a variável posicao será incrementada com +1.

Dentro do for existe um if que verifica se o numeroAleatorio tem o mesmo valor da variável segredos na posicao atual. Se essa condição for verdadeira a variável achou receberá o valor true e o laço será interrompido.

O último if verifica se achou tem o valor definido como false e se isso for verdade, o valor de numeroAleatorioserá inserido ao array segredos e a variável numero receberá +1 como incremento.

Espero ter ajudado!

Abraços! Bons estudos!