Oi, Henrique! Tudo bem?
Ótima lógica para adicionar amigos e sortear! Deixo como sugestão apenas limpar a lista de sorteio quando reiniciarmos ou fizermos um novo sorteio. Além de usar a função reiniciar
para limpar o array amigos
, evitando problemas se tentarmos adicionar novos amigos após reiniciar, deixando o nosso código da seguinte maneira:
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);
let sorteio = document.getElementById('lista-sorteio');
sorteio.innerHTML = ''; // Limpa a lista de sorteio antes de adicionar novos resultados
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>';
}
}
}
// Embaralha os nomes
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() {
document.getElementById('lista-amigos').textContent = '';
document.getElementById('lista-sorteio').innerHTML = ''; // Limpa a lista de sorteio
amigos = []; // Limpa o array de amigos
}
Espero ter ajudado!
Um forte abraço e bons estudos!