1
resposta

[Projeto] Resolução - lógica para embaralhar a lista de amigos

let amigos = [];

function adicionar() {
    let amigo = document.getElementById('nome-amigo');
    let lista = document.getElementById('lista-amigos');
    amigos.push(amigo.value);

    if (lista.textContent == '') {
        lista.textContent = amigo.value;
    } else {
        lista.textContent = lista.textContent + ', ' + amigo.value;
    }

    amigo.value = '';
}

function sortear() {
    embaralha(amigos);
}

function embaralha(lista) {

    for (let indice = lista.length; indice; indice--) {
        const indiceAleatorio = Math.floor(Math.random() * indice);

        [lista[indice - 1], lista[indiceAleatorio]] = 
            [lista[indiceAleatorio], lista[indice - 1]];
    }
}

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Aline.

Agradeço por compartilhar.

Seu código tá muito bem estruturado! Você aplicou corretamente a lógica de embaralhar a lista de amigos com o uso do Math.random() e da troca de posições por desestruturação, ótima abordagem para garantir aleatoriedade no sorteio. E, o controle da lista exibida está bem implementado.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!