Desenvolvedor de Software e Especialista em Tecnologia da Informação

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

Filter JavaScript Método filter Filtrar Array Array JavaScript JavaScript para Iniciantes Funções de Alta Ordem Manipulação de Arrays Programador Iniciante RogerioPontesTI

"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 .

📋 Características do filter()
  • 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
SINTAXE DO FILTER()

// 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 .

NOTAS PARES COM FILTER()

// 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]
        
📖 Como funciona o filter()
  • 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)
            
📖 Quando usar filter()?
  • 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

EXEMPLO 1

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

EXEMPLO 2

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

nomes claros às variáveis resultantes, como aprovados, disponiveis, ativos .


⏱️ Capítulos do vídeo

  • 00:00Introdução: Preparando a variável resultado para receber o filtro
  • 00:09Sintaxe: Utilizando o método .filter() no array de notas
  • 00:14Lógica do filtro: Definindo o parâmetro (usando n) para percorrer a matriz
  • 00:25Condição de filtragem: Filtrando apenas números pares (n % 2 === 0)
  • 00:33Teste prático: Verificando o resultado no console
  • 00:39Dica extra: Como filtrar números ímpares alterando a lógica
  • 00:46Encerramento 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

Cria um novo array só com os itens que passam em uma condição, sem modificar o array original .

Não, ele sempre retorna um array novo, deixando o original intacto .

Não, ele pode ser menor, dependendo de quantos itens passam no teste .

Sim, o return deve indicar true ou false para cada item testado .

O método retorna um array vazio, sem gerar erro .

filter() seleciona itens; map() transforma todos os itens, mantendo a quantidade .

Sim, o filter() funciona com qualquer tipo de dado dentro do array .

Sim, é comum filtrar primeiro e depois transformar o resultado com map() .

Sim, ele testa cada item do array original antes de montar o resultado .

Sim, os dois costumam ser usados juntos em projetos reais com listas de dados .

É uma estrutura de dados que permite armazenar múltiplos valores em uma única variável, como uma lista ordenada de elementos .

Use operadores lógicos como && para exigir que todas as condições sejam verdadeiras .

🎬 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