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

Duvida quanto a uma parte do código

No código:

    function sorteia () {

        return Math.round(Math.random() * 10);

    }

    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;

                    }
                }

                if(achou == false) {

                    segredos.push(numeroAleatorio);
                    numero++
                }    
            }
        }

        return segredos;
    }

fiquei em dúvida no seguinte segmento:

for(var posicao = 0; posicao < segredos.length; posicao++) {

                    if(segredos[posicao] == numeroAleatorio) {

                        achou = true;    
                        break;

Para ser mais específico , na linha do if(segredos[posicao] == numeroAleatorio), por qual razão a variável posicao foi colocada dentro dos colchetes?

1 resposta
solução!

Olá Lucas!

O que acontece é o seguinte:

A variavel "segredos" é um vetor.

Imagina que um vetor nada mais é do que um monte de gavetas que armazenam valores em comum.

Algo como: segredos[] = [valor X, valor Y, valor Z];

Como fariamos para retornar o valor Y que está contido dentro do meu vetor segredos?

Todos os vetores possuem um Index (guarde essa palavrinha).

O index nada mais é do que um apontamento que fazemos dentro do nosso vetor.

Nossa contagem em vetor começa do zero (0) então podemos dizer que:

Valor X -> Está no index 0, que é igual a: segredos[0]

Valor Y -> Está no index 1, que é igual a: segredos[1]

Valor Z -> Está no index 3, que é igual a: segredos[2]

Então sempre que quisermos acessar um item do nosso vetor nós devemos passar o index na qual ele se encontra.

O que acontece nesse código é exatamente isso.

Imagina que nosso vetor possua 10 posições (0-1-2-3-4-5-6-7-8-9).

Usando a variavel "posicao", internamente o código fará o seguinte:

if(segredos[0] == numero aleatorio) ....

if(segredos[1] == numero_aleatorio) ...

if(segredos[2] == numero_aleatorio) ...

if(segredos[3] == numero_aleatorio) ...

if(segredos[4] == numero_aleatorio) ...

...

if(segredos[9] == numero_aleatorio) ...

Espero ter ajudado! :D