1
resposta

[Dúvida] excluir nome

n sabia como fazer e tive que olhar a resposta dos professores. e confesso que foi complicado entender o que se passava no codigo, tive que recorrer a Ai para me explicar. era este o objetivo do exercício? nos fazer pesquisar para entender o codigo?

eu fiz uma modificação que foi declarar as variáveis que se repetiam fora das functions. ate onde vi continuou funcionando igual mas queria saber se isto pode ser um problema.

`let amigos = [];
let lista = document.getElementById('lista-amigos');
let amigo = document.getElementById('nome-amigo');
let sorteio = document.getElementById('lista-sorteio');

function adicionar() {

amigos.push(amigo.value);

if (lista.textContent == "") {
    lista.textContent = amigo.value;
} else {
    lista.textContent = lista.textContent + ", " + amigo.value;
}

amigo.value = "";

atualizarLista();
atualizarSorteio();

}

function sortear(){
embaralhar(amigos);

for (let i = 0; i < amigos.length; i++) {
    if (i == amigos.length -1) {
        sorteio.innerHTML = sorteio.innerHTML + amigos[i] + ' --> ' + amigos[0] + '<br/>';
    }else {
        sorteio.innerHTML = sorteio.innerHTML + amigos[i] + ' --> ' + amigos[i+1] + '<br/>';
    }
}

}

function excluirAmigo(index) {
amigos.splice(index,1);
atualizarLista();
atualizarSorteio();
}

function embaralhar(lista) {
for (let indice = lista.length; indice; indice--) {
const indiceAleatorio = Math.floor(Math.random() * indice);
[lista[indice - 1], lista[indiceAleatorio]] = [lista[indiceAleatorio], lista[indice - 1]];
}
}

function atualizarSorteio() {
sorteio.innerHTML = '';
}

function atualizarLista() {

lista.innerHTML = ''; 

for(let i =0; i < amigos.length; i++) {
    let paragrafo = document.createElement('p');
    paragrafo.textContent = amigos[i];

    paragrafo.addEventListener('click', function(){
        excluirAmigo(i);
    })

    lista.appendChild(paragrafo);
}

}

function reiniciar() {
amigos = [];
document.getElementById('lista-amigos').innerHTML = '';
document.getElementById('lista-sorteio').innerHTML = '';
}`

segue meu GitHub

1 resposta

Oi, Tairone! Como vai?

Chamou atenção a sua preocupação em entender o propósito do exercício e em reorganizar as variáveis fora das functions. Sua iniciativa de testar e questionar o código mostra autonomia no aprendizado, e usar referências para compreender a lógica faz parte do processo.

Declarar variáveis fora das funções pode funcionar, mas é importante ficar atento ao escopo e a possíveis efeitos colaterais em projetos maiores.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!