1
resposta

[Projeto] código para reiniciar o sorteio

let amigos = [];
//Começa com a variavel lista de amigos
function adicionar() {
    let amigo = document.getElementById('nome-amigo');
    let lista = document.getElementById('lista-amigos');
    
    // Verifica se o campo está vazio ou contém apenas espaços
    if (amigo.value.trim() === '') {
        alert('Por favor, insira um nome válido.'); // Mensagem de alerta opcional
        return; // Não faz nada se o campo estiver vazio ou apenas espaços
    }

    // Verifica se o nome já existe na lista
    if (amigos.includes(amigo.value.trim())) {
        alert('Este nome já foi adicionado.'); // Mensagem de alerta opcional
        amigo.value = ''; // Limpa o campo após a tentativa de adição
        return; // Não faz nada se o nome já existir
    }

    amigos.push(amigo.value.trim()); // Adiciona o amigo ao array

    // Atualiza o textContent da lista
    if (lista.textContent === '') { // Quando a lista está vazia
        lista.textContent = amigo.value.trim();  
    } else {
        lista.textContent += ', ' + amigo.value.trim(); // Quando já contém, adicionar e colocar entre vírgulas 
    }
    
    amigo.value = ''; // Limpa o campo após adicionar
}
//Executar os botoes 
function sortear() {
    embaralha(amigos);
    let sorteio = document.getElementById('lista-sorteio');
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/>';
    }
}
}

function embaralha(lista) { // funçao pronta de Fisher–Yates

    for (let indice = lista.length; indice; indice--) {

        const indiceAleatorio = Math.floor(Math.random() * indice);

        // atribuição via destructuring
        [lista[indice - 1], lista[indiceAleatorio]] = 
            [lista[indiceAleatorio], lista[indice - 1]];
    }
}

function reiniciar() {
    amigos = [];
    document.getElementById('lista-amigos'). innerHTML = '';
    document.getElementById('lista-sorteio').innerHTML = '';
}
1 resposta

Olá Tiago, tudo bem?

Muito legal ver você compartilhando seu código por aqui! 👏 Isso mostra que você está se dedicando de verdade aos estudos e buscando evoluir na prática. Esse tipo de iniciativa faz toda a diferença no aprendizado.

Continue assim! Qualquer dúvida, não hesite em compartilhar no fórum!

Até mais!

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