Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

dúvida como funciona a função embaralha

Pessoal tudo bem?

Como foi possível evitar que 2 pessoas da lista sorteassem uma a outra, fazendo com que 1 participante ficasse de fora (no exemplo com 3 participantes no total)?

Exemplo:

participante 1 --> participante 2

participante 2 --> participante 1

participante 3 -->

2 respostas
solução!

Oi Carolina! Tudo ok contigo?

No trecho de código que você mencionou, temos o seguinte laço for():

for (let i = 0; i < amigos.length; i++) {
    if (i == amigos.length - 1) {
        sorteio.innerHTML = sorteio.innerHTML + amigos[i] + ' --> ' + amigos[0] + '<br>';
    } else {
        sorteio.innerHTML = sorteio.innerHTML + amigos[i] + ' --> ' + amigos[i + 1] + '<br>';
    }
}

Nesse laço, a variável i é utilizada como contador para percorrer o array amigos. A cada iteração do laço, o código verifica se o índice i é igual ao tamanho do array menos um (ou seja, se é o último elemento do array).

Se essa condição for verdadeira, significa que o último participante está sorteando o próximo. Nesse caso, o código adiciona na lista de sorteio o nome do último participante (amigos[i]), a seta de sorteio (-->) e o primeiro participante (amigos[0]).

Caso a condição seja falsa, ou seja, não é o último participante sorteando o próximo, o código adiciona na lista de sorteio o nome do participante atual (amigos[i]), a seta de sorteio (-->) e o próximo participante (amigos[i + 1]).

Dessa forma, o código garante que todos os participantes são sorteados corretamente, evitando que alguém fique de fora do sorteio.

Espero que essa explicação tenha ficado clara! Se tiver mais alguma dúvida, é só me perguntar.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor marque ele como solução! ✓

Ficou claro, muito obrigada Renan.