Find intersection of two arrays in JavaScript

In this post, we will see how to find intersection of two arrays in JavaScript. Em palavras de ordem, enumere os valores comuns presentes em cada uma das matrizes.

Por exemplo, o cruzamento de matrizes e .

Array.prototipo.filtro ()

a idéia é verificar a presença de cada elemento da primeira matriz na segunda matriz. This can be easily done using indexOf() method with the filter() method in following manner:

1
2
3
4
5
6
7
8
9

var first = ;
var second = ;
var common = first.filter(x => second.indexOf(x) !== -1)
console.log(“Os elementos comuns são:” + comum);
/*
Saída: Os elementos comuns são: 2,3
*/

Para verificar a presença de determinado elemento em uma matriz, também podemos usar o mais recente includes() método que retorna um valor booleano. Isto é ilustrado abaixo:

Note que esta solução não resulta em valores únicos na saída.

Usando Set

Outra solução é converter a matriz em um ES6 Set e chame seu has() método para verificar a presença de elementos da matriz.

1
2
3
4
5
6
7
8
9

var first = ;
var second = ;
var common = first.filter(x => second.includes(x))
console.log(“The common elements are: ” + common);
/*
Output: The common elements are: 2,3
*/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

função de intersecção(primeiro, segundo)
{
var s = novo(segundo);
retorno em primeiro lugar.filtro (item => S. has(item));
};
var first = ;
var second=;
var common = intersection(first, second);
console.log(“Os elementos comuns são:” + comum);
/*
Saída: Os elementos comuns são: 2,3
*/

Para evitar a impressão de duplicatas na saída, você pode remover itens duplicados da primeira matriz, como mostrado abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

função de intersecção(primeiro, segundo)
{
primeiro = novo(primeira);
segundo = novo(segundo);
retornar .filtro (item => segundo.tem (item);
};
var first=;
var second=;
var common = intersection(first, second);
console.log(“elementos Comuns são:” + comum);
/*
Saída: elementos Comuns são: 2,3
*/

Sublinhado/Lodash

No caso de você não quiser usar o Conjunto como um intermediário estrutura de dados para encontrar valores comuns, o código pode ser simplificada usando o carácter de sublinhado ou lodash biblioteca. The following code example prints the unique values that are present in given arrays using intersection() method.

1
2
3
4
5
6
7
8
9
10
11

var _ = require(‘lodash’); // or underscore
var first = ;
var second = ;
var common = _.intersection(first, second);
consola.log(“Os elementos comuns são:” + comum);
/*
Saída: Os elementos comuns são: 2,3
*/

jQuery

Com o jQuery você pode usar o código abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

const { JSDOM } = require(“jsdom”);
const { janela } = new JSDOM();
var $ = require(“jquery”)(janela);
var first=;
var second=;
var secondNotFirst = $(second).not(first); // – =
var common = $(second).not (secondNotFirst); // – =
consola.log (“os elementos comuns são:”);
para (var i = 0; i common.length; i++) {
consola.log (common);
}
/*
saída: os elementos comuns são::
2
3
*/

O código pode ser simplificada usando jQuery filter() método:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

const { JSDOM } = require(“jsdom”);
const { janela } = new JSDOM();
var $ = require(“jquery”)(janela);
var primeiro = ;
var second=;
var common = $(second).Filtro (primeiro);
consola.log (“os elementos comuns são:”);
para (var i = 0; i common.length; i++) {
consola.log(comum);
}
/*
Saída: Os elementos comuns são:
2
3
*/

Deixe uma resposta

O seu endereço de email não será publicado.