1
resposta

[Sugestão] Código com as alterações indicada no final da aula!

Aberto a críticas construtivas e algum conselho,obg.

let amigos = [];

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

    let nomeTrimmed = amigo.value.trim();
    
    // Verifica se o nome não está vazio e não está na lista
    if (nomeTrimmed !== '') {
        if (amigos.includes(nomeTrimmed)) {
            alert("Este nome já foi adicionado.");
        } else {
            amigos.push(nomeTrimmed);
            lista.textContent = lista.textContent === '' ? nomeTrimmed : lista.textContent + ', ' + nomeTrimmed;
            amigo.value = '';
        }
    } else {
        alert("Por favor, insira um nome antes de adicionar.");
    }
}

function sortear() {
    if (amigos.length < 4) {
        alert('É necessário ter pelo menos 4 pessoas para realizar o sorteio.');
        return;
    }

    embaralha(amigos);
    let sorteio = document.getElementById('lista-sorteio');
    sorteio.innerHTML = '';

    // Gera os pares de sorteio
    for (let i = 0; i < amigos.length; i++) {
        sorteio.innerHTML += i === amigos.length - 1 ? amigos[i] + ' --> ' + amigos[0] + '<br>' : amigos[i] + ' --> ' + amigos[i + 1] + '<br>';
    }
}

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]];
    }
}

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

Oi, Jardel. Tudo bem?

Gostei da maneira como você verificou se o nome não está vazio e não está repetido antes de adicioná-lo à lista de amigos. Isso é uma ótima prática para garantir que sua aplicação funcione corretamente.

No mais, não tenho nenhuma sugestão acerca do seu projeto, apenas que sempre que tiver dúvidas ou problema, que você recorra ao fórum.

Um abraço e bons estudos.