let amigos = [];
function adicionar() {
let amigoInput = document.getElementById('nome-amigo');
let lista = document.getElementById('lista-amigos');
if (amigoInput.value.trim() === "") {
alert("Por favor, insira um nome válido.");
return;
}
let nome = amigoInput.value.trim();
amigos.push(nome);
atualizarLista();
amigoInput.value = '';
}
function atualizarLista() {
let lista = document.getElementById('lista-amigos');
lista.innerHTML = "";
amigos.forEach((amigo, index) => {
let li = document.createElement("li");
li.textContent = amigo;
li.onclick = function () {
removerAmigo(index);
};
lista.appendChild(li);
});
}
function removerAmigo(index) {
amigos.splice(index, 1);
atualizarLista();
}
function sortear() {
if (amigos.length < 2) {
alert("Adicione pelo menos 2 amigos para sortear.");
return;
}
let sorteio = document.getElementById('lista-sorteio');
sorteio.innerHTML = "";
let sorteados = [...amigos];
embaralhar(sorteados);
for (let i = 0; i < sorteados.length; i++) {
let amigoAtual = sorteados[i];
let amigoSorteado = sorteados[(i + 1) % sorteados.length];
sorteio.innerHTML += `${amigoAtual} → ${amigoSorteado} <br>`;
}
}
function embaralhar(lista) {
for (let i = lista.length - 1; i > 0; i--) {
let j = Math.floor(Math.random() * (i + 1));
[lista[i], lista[j]] = [lista[j], lista[i]];
}
}
function reiniciar() {
amigos = [];
document.getElementById('lista-amigos').innerHTML = '';
document.getElementById('lista-sorteio').innerHTML = '';
}
// Criando novaLista usando concat()
let minhaLista = [1, 2, 3];
let outraLista = [4, 5, 6];
let novaLista = minhaLista.concat(outraLista);
console.log("Lista combinada:", novaLista);
// Removendo o último elemento
novaLista.pop();
console.log("Após remoção do último elemento:", novaLista);
// Embaralhando com Fisher-Yates
embaralhar(novaLista);
console.log("Lista embaralhada:", novaLista);
// Removendo duplicatas
function removerDuplicatas(array) {
return [...new Set(array)];
}
let listaSemDuplicatas = removerDuplicatas(novaLista);
console.log("Lista sem duplicatas:", listaSemDuplicatas);