2
respostas

desafio sorteio amigos

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);
2 respostas

Bom dia!

Sua resolução ficou excelente! Você fez um ótimo uso do aprendizado.

Parabéns pelo empenho nos estudos e continue praticando.

Para que mais pessoas consigam visualizar a sua solução proposta, é recomendado que você marque este tópico como solucionado. Assim pode ajudar ainda mais pessoas :)

Bons estudos!

Bom dia!

Sua resolução ficou excelente! Você fez um ótimo uso do aprendizado.

Parabéns pelo empenho nos estudos e continue praticando.

Para que mais pessoas consigam visualizar a sua solução proposta, é recomendado que você marque este tópico como solucionado. Assim pode ajudar ainda mais pessoas :)

Bons estudos!