Categorias
Artigos JavaScript

Dominando a função filter( )

Para que serve o método filter( ) em JavaScript?

Podemos resumir a função filter como:

x.filter(y) –filtra os dados de um array x usando a função y
  • A função filter( ) filtra os itens de um array com base em uma função.
  • Retona um array de tamanho <= ao tamanho do array original.
  • Sintaxe: objeto.filter(função)

Digamos que desejemos obter apenas a lista de alunos que obtiveram nota superior a 6. Podemos fazer isso usando a função filter().

Vamos começar criando uma função que verifica se o aluno tirou nota maior que 6. Se sim, retorne todo o item:

Agora vamos aplicar o método filter( ) à lista de alunos passando como argumento a função aprovado. Observe que apenas dois alunos foram aprovados.

Uma imagem contendo Interface gráfica do usuário

Descrição gerada automaticamente

Mas lembre-se que havíamos definido anteriormente que as notas seriam normalizadas. Logo, a maior nota da sala, que foi 7.5, passaria a valer 10. Normalizamos anteriormente, mas não salvamos os dados no objeto estudantes. Vamos calcular as notas normalizadas e salvar em uma variável chamada novas_notas.

Vamos então salvar usando a função map( ) e o índice de cada valor.

Interface gráfica do usuário, Texto, Aplicativo

Descrição gerada automaticamente

Agora podemos ver quem foram os aprovados usando a função filter:

Diagrama

Descrição gerada automaticamente com confiança baixa

Os quatro estudantes foram aprovados – e o dia foi salvo graças à função filter( ) haha!

Quer aprender mais sobre Desenvolvimento Web?

Dá uma olhada nesses cursos disponíveis a partir de R$ 27,90 e ainda dá uma moral pra ajudar esse pobre professor poder pagar seus boletos 😉

Por Diego Mariano

Doutor em Bioinformática pela Universidade Federal de Minas Gerais com atuação na área de ciência de dados e aprendizado de máquina aplicados ao aperfeiçoamento de enzimas usadas na produção de biocombustíveis. Mestre em Bioinformática, também pela UFMG, atuando na área de desenvolvimento de sistemas Web para montagem de genomas. Atualmente realiza estágio pós-doutoral no Departamento de Ciência da Computação da UFMG com foco em desenvolvimento de sistemas Web para Bioinformática, análise exploratória e visualização de dados. Tem conhecimentos nas linguagens: PHP, JavaScript, Python, R, Perl, HTML, CSS e SQL.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

error

Compartilhe este post!

Facebook
YouTube
LinkedIn
Instagram