Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

FOKUS Lista de exercicios - Removendo tarefas

Olá, segue a minha implementação do que foi aprendido em aula.

const removerTarefas = (somenteCompletas)=> {
    // const seletor = somenteCompletas ? '.app__section-task-list-item-complete' : '.app__section-task-list-item' //(mesma coisa foi feita na linha de baixo)
    let seletor = '.app__section-task-list-item' // criando constante estabelecendo que se não forem completas vao ser removidas todas com essa 1º classe.
    if (somenteCompletas) {
        seletor = '.app__section-task-list-item-complete' // caso as tarefas foram completas somente serão deletadas as tarefas com essa classe.
    }
    document.querySelectorAll (seletor).forEach(elemento =>{ 
        elemento.remove()
    })
    tarefas = somenteCompletas ? tarefas.filter(elemento => !tarefa.completa) : [] //Se completas filtra se não array vazio.
    atualizarTarefas()
}

btnRemoverConcluidas.onclick = () => removerTarefas(true); //Remove somente as tarefas concluidas.
btnRemoverTodas.onclick = () => removerTarefas (false); // remove todas as tarefas.
1 resposta

Oi, Stephanie! Tudo certo por aí?

Obrigado por postar a sua resolução!

Notei que você explorou o querySelectorAll para manipular elementos com JavaScript, usou muito bem a função de filtro para atualizar a lista de tarefas e por fim compreendeu a relevância da condicional para decidir quais tarefas remover.

Para complementar os seus estudos, vou deixar aqui possíveis melhorias:

querySelectorAll

Uma melhoria seria validar se existem elementos antes de aplicar o forEach. Isso evita erros em cenários sem tarefas e torna o código mais robusto, garantindo maior estabilidade em diferentes situações.

Função de filtro

Outra melhoria seria revisar a lógica de filtragem, garantindo que a variável correta seja usada. Isso ajuda a evitar inconsistências e mantém a lista de tarefas atualizada de forma confiável em qualquer operação realizada.

Curtiu as dicas?!

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Ah, uma pergunta: o que você gostaria de explorar mais agora, trabalhar com manipulação avançada do DOM ou aprofundar em estratégias de arrays para listas dinâmicas?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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