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 = '';
}