Segue a maneira com que realizei os desafio com alguns melhoramentos.
let amigos = [];
function removerDuplicatas(array) {
return [...new Set(array)];
}
function adicionar() {
let amigo = document.getElementById('nome-amigo');
if (amigo.value.trim() === '') {
alert('Digite um nome válido!');
return;
}
// Verifica se o nome já foi adicionado
if (amigos.includes(amigo.value)) {
alert('Este nome já foi incluído!');
amigo.value = ''; // Limpa o campo de entrada
return;
}
amigos.push(amigo.value);
amigos = removerDuplicatas(amigos); // Remove duplicatas
amigo.value = '';
atualizarLista();
}
function atualizarLista() {
let lista = document.getElementById('lista-amigos');
lista.innerHTML = ''; // Limpa a lista antes de atualizar
amigos.forEach(amigo => {
const item = document.createElement('div');
item.textContent = amigo;
lista.appendChild(item);
});
}
function embaralhar(array) {
// Implementação da função de embaralhar
}
function sortear() {
embaralhar(amigos);
let sorteio = document.getElementById('lista-sorteio');
sorteio.innerHTML = ''; // Limpa usando innerHTML uma vez
for (let i = 0; i < amigos.length; i++) {
const linha = document.createElement('div');
const proximo = i === amigos.length - 1 ? 0 : i + 1;
linha.textContent = `${amigos[i]} → ${amigos[proximo]}`;
sorteio.appendChild(linha);
}
alert("Perfeito, esta é a lista dos amigos secretos!");
}
function reiniciar() {
amigos = []; // Limpa a lista de amigos
atualizarLista(); // Atualiza a lista na interface
document.getElementById('nome-amigo').value = ''; // Limpa o campo de entrada
document.getElementById('lista-sorteio').innerHTML = ''; // Limpa o campo das pessoas sorteadas
}