Najděte průsečík dvou polí v JavaScriptu

v tomto příspěvku uvidíme, jak najít průsečík dvou polí v JavaScriptu. V pořadí slov, vypsat společné hodnoty přítomné v každém z polí.

například, křižovatka pole .

pole.prototyp.filtr ()

myšlenkou je zkontrolovat přítomnost každého prvku prvního pole ve druhém poli. 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(„společné prvky jsou:“ + běžné);
/*
Výkon: společné prvky jsou: 2,3
*/

Chcete-li zkontrolovat na přítomnost určitého prvku v matici, můžeme také použít nejnovější includes() metoda, která vrací hodnotu typu boolean. To je znázorněno níže:

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

Poznámka: toto řešení nemá za následek jedinečné hodnoty na výstupu.

Pomocí Nastavení

Dalším řešením je převést pole do ES6 Set volat has() metoda pro kontrolu přítomnosti prvků na jiné pole.

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

funkce křižovatce(první, druhý)
{
var s = nový soubor(druhé);
vrátí první.filtr(item => y.má(item));
};
var first = ;
var second =;
var common = průsečík (první, druhý);
console.log(„společné prvky jsou:“ + běžné);
/*
Výkon: společné prvky jsou: 2,3
*/

, Aby se zabránilo tisk duplikátů v výstup, můžete odstranit duplicitní položky z prvního pole, jak je uvedeno níže:

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

funkce křižovatce(první, druhý)
{
první = nové Sady(první);
druhé = nový soubor(druhé);
návrat .filtr (item => druhý.má (položka));
};
var first=;
var second=;
var common = průsečík(první, druhý);
console.log(„Společné prvky jsou:“ + běžné);
/*
Výkon: Společné prvky jsou: 2,3
*/

Podtržení/Lodash

V případě, že nechcete použít, Nastavit jako meziprodukt datové struktury pro nalezení společných hodnot, kód lze zjednodušit pomocí podtržení nebo lodash knihovna. 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);
konzole.výstup: běžné prvky jsou: 2,3
*/

jQuery

s jQuery můžete použít níže uvedený kód:

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

const { JSDOM } = vyžadují(„jsdom“);
const { window } = new JSDOM();
var $ = vyžadují(„jquery“)(window);
var first =;
var second =;
var secondNotFirst = $(second).ne (první); / / – =
var common = $(druhý).ne (secondNotFirst); / / – =
console.log („společné prvky jsou:“);
pro (var i = 0; i < common.délka; i++) {
konzole.log (common);
}
/ *
výstup: společné prvky jsou:
2
3
*/

kód lze zjednodušit pomocí jQuery filter() metoda:

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

const { JSDOM } = vyžadují(„jsdom“);
const { window } = new JSDOM();
var $ = vyžadují(„jquery“)(okno);
var first = ;
var second = ;
var common = $(second).filtr (první);
konzole.log („společné prvky jsou:“);
pro (var i = 0; i < common.délka; i++) {
konzole.log(časté);
}
/*
Výkon: společné prvky jsou:
2
3
*/

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.