JavaScript

Como pegar a intersecção de dois arrays em JavaScript

18 de agosto de 2021

Como pegar a intersecção de dois arrays em JavaScript

Neste artigo você vai aprender a extrair a intersecção de dois arrays em JavaScript, ou seja, os elementos que os arrays tem em comum

intersecção de dois arrays em JavaScript capa

Fala programador(a), beleza? Bora aprender mais sobre os arrays e também JavaScript!

A intersecção é composta dos itens em que os dois arrays terão em comum

Para chegar neste resultado utilizaremos duas funções da linguagem:

  • filter: Para filtrar os itens que precisamos (a intersecção);
  • includes: Para checar se o item de um array está também no outro;

A função filter realiza um loop no array alvo, desta forma podemos acessar cada um dos seus elementos

Veja um exemplo prático:

const a1 = [1, 2, 3, 4, 5];
const a2 = [2, 3];

const intersection = a1.filter(i => a2.includes(i));

console.log(intersection); // [2, 3]

Note que também fazemos uso de uma arrow function, que neste caso simplifica a sintaxe

Os elementos que retornam do filter são apenas os que estão no segundo array, ou seja, formamos a intersecção de elementos

E assim conseguimos saber quais valores estão presentes nos dos arrays diferentes!

Conclusão

Neste artigo você aprendeu a como obter a intersecção de dois arrays em JavaScript

Utilizamos a função filter para criar um filtro nos itens de um array, este filtro trás somente o que se repete

E para obter os itens em comum nos dois arrays utilizamos contains, que checa se um item contém no outro array que estamos comparando

Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!

Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!

Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias

O link acima contém um cupom de desconto para os cursos!
Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x