Neste artigo você vai aprender a como filtrar array por outro array em JS, utilizando os elementos de um para filtrar o outro array

Como filtrar array por outro array capa

Fala programador(a), beleza? Bora aprender mais sobre filtrar arrays com JavaScript!

Hoje vamos falar sobre como filtrar um array a partir de elementos de outro array em JavaScript.

Isso pode ser útil em muitas situações, como quando queremos remover elementos duplicados de um array ou quando queremos selecionar apenas alguns elementos de um array de acordo com algum critério específico.

Existem algumas formas de fazer isso em JavaScript, e vamos ver algumas delas a seguir.

1. Utilizando o método filter

O método filter é uma função de ordem superior que permite filtrar os elementos de um array de acordo com uma função de teste.

Ele retorna um novo array com os elementos que passaram no teste.

Por exemplo, vamos supor que temos um array com números e queremos remover os números pares:

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];

const oddNumbers = numbers.filter(x => x % 2 !== 0);

console.log(oddNumbers); 

No exemplo acima, utilizamos o método filter para criar um novo array oddNumbers com apenas os números ímpares do array numbers.

Passamos para o filter uma função de teste que verifica se o resto da divisão do número por 2 é diferente de 0.

Assim, todos os números ímpares passam no teste e são incluídos no novo array.

Além de filtrar elementos de um array de acordo com uma função de teste, o método filter também pode ser utilizado para filtrar elementos a partir de outro array.

Por exemplo, vamos supor que temos um array de nomes e queremos selecionar apenas os nomes que estão presentes em outro array:

const names = ['Alice', 'Bob', 'Eve', 'Charlie', 'Diana'];
const selectedNames = ['Alice', 'Charlie'];

const filteredNames = names.filter(name => selectedNames.includes(name));

console.log(filteredNames); // Output: ['Alice', 'Charlie']

No exemplo acima, utilizamos o método includes do array selectedNames para verificar se cada nome do array names está presente no array selectedNames. Os nomes que estão presentes são incluídos no novo array filteredNames.

2. Utilizando a função some

Outra forma de filtrar um array a partir de elementos de outro array é utilizando a função some.

A função some verifica se pelo menos um elemento de um array passa no teste de uma função de teste.

Por exemplo, vamos supor que temos um array de números e queremos selecionar apenas os números que estão presentes em outro array:

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const selectedNumbers = [2, 4, 6, 8];

const filteredNumbers = numbers.filter(number => selectedNumbers.some(x => x === number));

console.log(filteredNumbers); // Output: [2, 4, 6, 8]

No exemplo acima, utilizamos a função some para verificar se cada número do array numbers está presente no array selectedNumbers.

A função some retorna true se pelo menos um elemento do array selectedNumbers for igual ao número atual, e false caso contrário.

Utilizamos então a função some dentro de um if para incluir apenas os números que passam no teste no novo array filteredNumbers.

3. Utilizando o operador in

Outra forma de filtrar um array a partir de elementos de outro array é utilizando o operador in.

O operador in verifica se um determinado elemento está presente em um array ou em um objeto.

Por exemplo, vamos supor que temos um array de nomes e queremos selecionar apenas os nomes que estão presentes em outro array:

const names = ['Alice', 'Bob', 'Eve', 'Charlie', 'Diana'];
const selectedNames = ['Alice', 'Charlie'];

const filteredNames = names.filter(name => name in selectedNames);

console.log(filteredNames); // Output: ['Alice', 'Charlie']

No exemplo acima, utilizamos o operador in para verificar se cada nome do array names está presente no array selectedNames.

Os nomes que estão presentes são incluídos no novo array filteredNames.

Deixe um comentário contando o que achou deste artigo 🙂

Quer aprender mais sobre JavaScript? Confira o vídeo abaixo:

Conclusão

Filtrar um array a partir de elementos de outro array é uma tarefa comum em JavaScript, e existem diversas formas de fazer isso.

No artigo, vimos três formas diferentes: utilizando o método filter, utilizando a função some e utilizando o operador in.

Qual dessas formas é a mais adequada para o seu caso dependerá do que você precisa fazer e do seu gosto pessoal.

Espero que este artigo tenha ajudado a entender mais sobre como filtrar um array a partir de elementos de outro array em JavaScript.

Boa sorte em sua jornada de aprendizado!

Está buscando a sua primeira vaga como Programador? Confira o nosso treinamento completo clicando aqui.

Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!

Há também o nosso canal no YouTube, com muito conteúdo gratuito de qualidade!

Subscribe
Notify of
guest

0 Comentários
Inline Feedbacks
View all comments