Método filter() em JavaScript: Filtrando Itens de um Array
O map() transforma cada item de um array. O filter() faz algo diferente: ele decide quem fica e quem sai . Neste artigo você vai ver o filter() em ação, criando um novo array só com as notas que atendem a uma condição específica. Uma habilidade essencial para qualquer programador que trabalha com listas de dados.
POV: Você usou filter() e só os pares passaram 😎
Partindo do mesmo array de notas dos vídeos anteriores, criamos um segundo array chamado "resultado dois" usando filter(). Para cada nota, testamos se o resto da divisão por 2 é igual a zero — se for, essa nota é par e entra no novo array; se não for, ela fica de fora. O resultado é um array só com os números pares da lista original. Trocando a condição (testando se existe resto na divisão), o mesmo filter() passa a devolver só os números ímpares.
Método filter() em JavaScript: Filtrando Itens de um Array
"Eu vou pegar o resultado e na verdade notas novamente. Vou criar um resultado dois com notas. Só que dessa vez a gente vai fazer um filtro. Esse filter aqui vai só me trazer as notas que são pares."
🗺️ O que é o método filter() em JavaScript?
O método filter() é uma das funções de alta ordem mais poderosas do JavaScript . Ele cria um novo array contendo apenas os elementos que passam em um teste definido por uma função . Diferente do map(), que transforma todos os elementos mantendo o tamanho, o filter() pode reduzir o array .
- Não modifica o array original
- Retorna um novo array com os itens aprovados
- Pode ser menor que o array original
- Aplica uma condição a cada elemento
- Ideal para selecionar dados específicos
// array.filter(função_callback)
const novoArray = arrayOriginal.filter(elemento => {
// Retorna true para manter, false para descartar
return elemento > 10;
});
📊 Exemplo prático: filter() com notas pares
Vamos aplicar o filter() em um array de notas para selecionar apenas as notas pares .
// Array original
const notas = [1, 2, 3, 4, 5];
// Usando filter() para selecionar números pares
const resultado = notas.filter(n => {
return n % 2 === 0;
});
console.log(resultado);
// Saída: [2, 4]
- Percorre cada elemento do array original
- Aplica a condição definida na função
- Mantém os elementos que retornam
true - Descarta os elementos que retornam
false - Retorna um novo array com os aprovados
⚖️ filter() vs map() — Qual usar?
🗺️ map() — Transforma tudo
const resultado = numeros.map(n => n * 2); // [2, 4, 6, 8, 10] (mesmo tamanho)
🔍 filter() — Seleciona quem passa
const resultado = numeros.filter(n => n % 2 === 0); // [2, 4] (pode ser menor)
- Selecionar dados — pegar apenas itens que atendem a uma condição
- Remover itens — de forma imutável, sem modificar o original
- Buscar — encontrar elementos específicos em uma lista
- Filtrar por categorias — produtos em estoque, usuários ativos, etc.
📚 Exemplos práticos de filter()
1. Filtrando números ímpares
const numeros = [1, 2, 3, 4, 5];
const impares = numeros.filter(n => n % 2 !== 0);
console.log(impares); // [1, 3, 5]
2. Filtrando objetos por propriedade
const produtos = [
{ nome: "Notebook", preco: 3000, estoque: 5 },
{ nome: "Mouse", preco: 50, estoque: 0 },
{ nome: "Teclado", preco: 200, estoque: 10 },
];
// Filtrar produtos com estoque > 0
const disponiveis = produtos.filter(p => p.estoque > 0);
console.log(disponiveis);
// [{nome: "Notebook", preco: 3000, estoque: 5}, {nome: "Teclado", preco: 200, estoque: 10}]
📋 Boas práticas com filter()
1️⃣ Use filter() para imutabilidade
Prefira filter() a splice() para remover itens sem modificar o array original .
2️⃣ Combine condições com &&
Use operadores lógicos para criar filtros mais complexos em uma única passagem .
3️⃣ filter() antes de map()
Filtre primeiro, depois transforme com map() para evitar processamento desnecessário .
4️⃣ Use nomes descritivos
Dê nomes claros às variáveis resultantes, como aprovados, disponiveis, ativos .
⏱️ Capítulos do vídeo
- 00:00 — Introdução: Preparando a variável resultado para receber o filtro
- 00:09 — Sintaxe: Utilizando o método .filter() no array de notas
- 00:14 — Lógica do filtro: Definindo o parâmetro (usando n) para percorrer a matriz
-
00:25 — Condição de filtragem: Filtrando apenas números pares (
n % 2 === 0) - 00:33 — Teste prático: Verificando o resultado no console
- 00:39 — Dica extra: Como filtrar números ímpares alterando a lógica
- 00:46 — Encerramento e convite para inscrição no canal
🎯 Conclusão
O método filter() é uma ferramenta essencial para qualquer programador JavaScript . Ele permite selecionar dados de forma elegante e funcional, sem modificar o dado original .
Neste artigo, você aprendeu:
- ✅ O que o método filter() faz em um array
- ✅ Como o filter() cria um novo array só com itens aprovados
- ✅ Como usar o resto da divisão (mod) para filtrar números pares
- ✅ Como trocar a condição para filtrar números ímpares
- ✅ A diferença entre filter() e map() na prática
- ✅ Onde o filter() costuma ser usado no dia a dia
💡 Lembre-se: O filter() é ideal para selecionar dados que atendem a uma condição específica. Use-o sempre que precisar criar um novo array a partir de um existente, mantendo apenas os elementos que passam no teste .
🤔 O que você achou?
💬 Quer aprender JavaScript do ZERO? Comece agora a escrever seu primeiro código e seus fundamentos!
❓ FAQ: Perguntas Frequentes sobre o Método Filter() em JavaScript
🎬 Assista ao Vídeos completo sobre Refatoração
O vídeo foi feito em Javascript mais o conceito pode ser utilizado em qualquer outra linguagem de programação..
🎬 Assista ao Vídeos completo sobre Refatoração
🔗 Conecte-se Comigo
💬 Você já usou filter() pra separar dados de uma lista no seu código? Você usaria mais filter() ou map() no seu próximo projeto? Escreve aqui nos comentários! 👇
#JavaScript #Filter #Array #JavaScriptParaIniciantes #LogicaDeProgramacao #RogerioPontesTI