1
resposta

RESOLUÇÃO (DESAFIOS PRINCIPAL E OUTROS)

let nome = [];
let amigosSorteados = [];

function adicionar(){
    if(validacaoAdicionar(document.getElementById('nome-amigo').value)){
        nome.push(document.getElementById('nome-amigo').value);
        let lista = document.getElementById('lista-amigos');
        document.getElementById('nome-amigo').value = '';
        mostrarLista();
    }
}

function sortear(){
    if(validacaoSortear()){
        let sorteado;
        let listaSorteio = document.getElementById('lista-sorteio');
        for(let i=0; i<nome.length; i++){
            do{
                sorteado = obterNumeroAleatorio(nome.length);
            }while(amigosSorteados.includes(sorteado) || (nome[i] == nome[sorteado]))
            amigosSorteados.push(sorteado);
            listaSorteio.innerHTML += `${nome[i]} -> ${nome[sorteado]} <br/>`;
        }
    }
}

function reiniciar(){
    nome = [];
    amigosSorteados = [];
    document.getElementById('nome-amigo').value = '';
    document.getElementById('lista-amigos').textContent = '';
    document.getElementById('lista-sorteio').textContent = '';
    alert('Sorteio reiniciado!');
}

function obterNumeroAleatorio(qtdAmigos){
    return Math.floor((Math.random() * qtdAmigos));
}

function validacaoAdicionar(getnome){
    if(getnome == ''){
        alert('Erro: Campo está vázio');
        return false;
    }else if(nome.includes(getnome)){
        alert('Erro: O nome digitado já existe')
        return false;
    }

    return true;
}

function validacaoSortear(){
    if(nome.length<4){
        alert('A quantidade mínima para fazer sorteio é 4.');
        return false;
    }else{
        return true;
    }
}

function excluir(id){
    nome.splice(id,1);
    mostrarLista();
}

function mostrarLista(){
    let lista = document.getElementById('lista-amigos');
    lista.innerHTML = '';
    for(let i=0; i<nome.length;i++){
        lista.innerHTML += `<p onclick='excluir(${i})' >${nome[i]}</p>`;
    }
}

//DESAFIOS
function listas(){
    let minhaLista = [1,2,3];
    let minhaLista2 = [4,5,6];
    let novaLista = minhaLista.concat(minhaLista2);
    console.log(novaLista);
    novaLista.pop();
    console.log(novaLista);
    embaralha(novaLista);
    console.log(novaLista);
}

//

function embaralha(lista) {

    for (let indice = lista.length; indice; indice--) {

        const indiceAleatorio = Math.floor(Math.random() * indice);
        
        // guarda de um índice aleatório da lista
        const elemento = lista[indice - 1];
        
        lista[indice - 1] = lista[indiceAleatorio];
        
        lista[indiceAleatorio] = elemento;
    }
}

function removerDuplicatas(){
    let arrayDuplicatas = [4,6,4,2,2,8,9,5,5,5,3,78];
    let elementosNaoDuplicados = [];

    console.log(`Lista: ${arrayDuplicatas}`);
    for(let i=0; i< arrayDuplicatas.length;i++){
        if(!elementosNaoDuplicados.includes(arrayDuplicatas[i])){
            elementosNaoDuplicados.push(arrayDuplicatas[i]);
        }
    }

    console.log(elementosNaoDuplicados);
   
}







1 resposta

Oi Caio! Tudo bem?

Analisando seus códigos, posso dizer que você fez um excelente trabalho. Todos os códigos estão corretos e seguem as instruções do desafio.

Então, continue com o bom trabalho e não hesite em pedir ajuda sempre que precisar.

Bons estudos!