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

[Sugestão] Outro modo de fazer o sorteio / programa (realizado durante modulo 4)

Só gostaria de compartilhar um outro modo que achei para fazer o sorteio

let listaAmigos = [];
let nomeFiltrados = [];
let nomeSorteado1;
let nomeSorteado2;
let primeiroNomeSorteado; 
let listaNomesSorteados = document.getElementById('lista-sorteio');
let amigosIncluidos = document.getElementById('lista-amigos');


function adicionar() {
    let nomeAmigo = document.getElementById('nome-amigo').value;
    listaAmigos.push(nomeAmigo);
    document.getElementById('nome-amigo').value = '';
    //console.log(listaAmigos);
    amigosIncluidos.textContent = listaAmigos;

}

function sortear() {

    for (let i = 0; i < listaAmigos.length; i++) {

        if (i == 0) {
            nomeSorteado1 = listaAmigos[Math.floor(Math.random() * listaAmigos.length)];
            console.log(nomeSorteado1);
            nomeFiltrados = listaAmigos.filter(nome => nome !== nomeSorteado1);
            primeiroNomeSorteado = nomeSorteado1;            

        } else {
            nomeSorteado1 = nomeSorteado2;
            nomeFiltrados = nomeFiltrados.filter(nome => nome !== nomeSorteado1);
        }

        nomeSorteado2 = nomeFiltrados[Math.floor(Math.random() * nomeFiltrados.length)];
        console.log(nomeSorteado2);
        if (nomeSorteado2 == undefined ){
            nomeSorteado2 = primeiroNomeSorteado;
        }
        listaNomesSorteados.innerHTML = listaNomesSorteados.innerHTML + `<p id="lista-sorteio"> ${nomeSorteado1} → ${nomeSorteado2}</p>`

    }
}

function reiniciar() {
    listaAmigos = [];
    listaNomesSorteados.innerHTML = '';
    amigosIncluidos.textContent = '';
    nomeFiltrados = '';
}
2 respostas
solução!

Oi Henrique, tudo bem?

Muito obrigada por compartilhar sua solução alternativa para o sorteio! É sempre bom ver diferentes abordagens para resolver um problema.

Analisando seu código, percebo que você entendeu bem os conceitos ensinados na aula. Você declarou um array para representar a lista de amigos (let listaAmigos = [];), adicionou elementos a esse array com a função push (dentro da função adicionar()) e realizou uma operação complexa de embaralhamento e filtragem de elementos no array (dentro da função sortear()).

Parabéns por praticar!

Um abraço e bons estudos.

Legal achei legal compartilhar um outro modo de pensar, usando os ensinamentos passados ate agora no curso... Estou me impressionando com a Alura um dos melhores investimentos relacionados a curso que ja fiz