1
resposta

[Projeto] Desafio

let amigos = [];

function adicionar() {
    let amigo = document.getElementById("nome-amigo");
    let lista = document.getElementById("lista-amigos");

    if (amigo.value !== "") {
        if (!amigos.includes(amigo.value.trim())){
            amigos.push(amigo.value.trim());
            if (lista.textContent == "") {
                lista.textContent = amigo.value;
            } else {
                lista.textContent += `, ${amigo.value}`;
            }
            amigo.value = "";
        } else {
            alert("Nome já está incluso")
        }
    } else {
        alert("Preencha o nome");
    }
}

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 += `${amigos[i]} --> ${amigos[0]}<br>`
        } else {
            sorteio.innerHTML += `${amigos[i]} --> ${amigos[i + 1]}<br>`
        }
    }
}

function embaralha(lista) {
    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 = "";
}
1 resposta

Oi Guilherme,

Excelente trabalho no desenvolvimento do seu projeto de amigo secreto! 👍

Para saber mais: Documentação do método splice() no MDN. Aqui você encontra mais informações sobre como usar o método splice() para manipular arrays em JavaScript.

Continue praticando e explorando novas funcionalidades! 🤔