1
resposta

Resolução de Atividades - 09 Faça como eu fiz: função para resetar o sorteio

Código completo: Ficou bem diferente do oficial, fiz desse jeitinho:

let amigosIncluidos = []; 
let campoAmigosIncluidos = document.getElementById ("lista-amigos");
let amigosSorteados = [];
let campoSorteados = document.getElementById ("lista-sorteio");
let campoNomeDigitado = document.getElementById ("nome-amigo");

function adicionar() {

    let nomeDigitado = document.getElementById ("nome-amigo").value;
    
    amigosIncluidos.push (` ${nomeDigitado}`);
    campoAmigosIncluidos.textContent = amigosIncluidos; 

    campoNomeDigitado.value = "";
}

function sortear() {

    amigosSorteados = [];
    campoSorteados.innerHTML = "";

    let numeroParticipantes = amigosIncluidos.length;

    for (let n = 0; n <= numeroParticipantes - 1; n++) {

        let numeroSorteado = obterNumeroAleatorio (0, numeroParticipantes - 1);

        if (amigosSorteados.includes (amigosIncluidos[numeroSorteado])) {

            return sortear();
        }

        if (amigosIncluidos[n] == amigosIncluidos[numeroSorteado]) {

            return sortear();
        }

        amigosSorteados[n] = amigosIncluidos[numeroSorteado];    
    }

    for (n = 0; n <= numeroParticipantes - 1; n++) {

        campoSorteados.innerHTML = campoSorteados.innerHTML + `${amigosIncluidos[n]} -> ${amigosSorteados[n]} <br>`;
    }
}

function reiniciar() {

    campoAmigosIncluidos.textContent = "";
    amigosIncluidos = [];
    amigosSorteados = [];
    campoSorteados.innerHTML = "";
    campoNomeDigitado.value = "";
}

function obterNumeroAleatorio (min, max) {

    return Math.floor(Math.random() * (max - min + 1)) + min;
}
1 resposta

Oi, Victor! Tudo bem?

Excelente código, parabéns pelo projeto! Espero que esteja gostando do curso! Colocar em execução as atividades propostas pelo professor em aula é uma prática muito importante para internalizarmos o conteúdo. Caso tenha ficado alguma dúvida em relação ao curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!