Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] desafio amigo secreto - 4 etapa - reiniciar

segue o codigo com o Reiniciar funcionando

    let grupoAmigos = [];
    let listaSorteio

function adicionar() {
    let nomeAmigo = document.getElementById('nome-amigo').value.trim();
    let listaAmigos = document.getElementById('lista-amigos');
    let nomeAmigoUpper = nomeAmigo.toUpperCase();
        if (nomeAmigo === '') {
            alert('Favor inserir o nome no campo');
            return;
        } 
        if (grupoAmigos.includes(nomeAmigoUpper)) {
            alert("Amigo ja incluido, informe outro nome ou adicione um sobrenome");                
         return;
        }

        grupoAmigos.push(nomeAmigoUpper);
        console.log(grupoAmigos);

        if (listaAmigos.textContent == '') {
                listaAmigos.textContent = nomeAmigo;
        } else {
                listaAmigos.textContent = listaAmigos.textContent + ', ' + nomeAmigo;
            }
            document.getElementById('nome-amigo').value = '';
        }
     

function sortear() {

    embaralhar(grupoAmigos);
    listaSorteio = document.getElementById('lista-sorteio');
    listaSorteio.innerHTML = '';

    for (let i = 0; i < grupoAmigos.length; i++) {
        let amigo1 = grupoAmigos[i];
        let amigo2 = (i === grupoAmigos.length - 1) ? grupoAmigos[0] : grupoAmigos[i + 1];
        listaSorteio.innerHTML += `${amigo1} → ${amigo2} <br>`;
    }
}

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

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

function reiniciar() {
    grupoAmigos = [];
    listaSorteio.innerHTML = '';
    document.getElementById('lista-amigos').innerHTML = '';
    document.getElementById('lista-sorteio').innerHTML = '';
}
1 resposta
solução!

Olá, Rony. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

Ótimo como você estruturou a função reiniciar(), garantindo que todas as listas sejam resetadas corretamente. Isso evita que dados antigos permaneçam na interface.

Uma dica interessante: você pode melhorar a exibição da lista de amigos usando join(), deixando o código mais legível. Veja este exemplo:


document.getElementById('lista-amigos').textContent = grupoAmigos.join(', ');

Isso junta os nomes da lista em uma única string separada por vírgulas.

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