ebben a bejegyzésben látni fogjuk, hogyan lehet megtalálni két tömb metszéspontját a JavaScript-ben. Annak érdekében, szavak, sorolja fel a közös értékek jelen az egyes tömbök.
például a tömbök metszéspontja and
jelentése
.
tömb.prototípus.filter ()
az ötlet az, hogy ellenőrizzük az első tömb minden elemének jelenlétét a második tömbben. 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(“a közös elemek:” + közös);
/*
kimenet: a közös elemek a következők: 2,3
*/
|
a tömb bizonyos elemeinek jelenlétének ellenőrzéséhez a következőket tehetjük: használja a legújabb includes()
metódust is, amely logikai értéket ad vissza. Ezt az alábbiakban szemléltetjük:
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
*/
|
Megjegyzés: Ez a megoldás nem eredményez egyedi értékeket a kimeneten.
A Set
egy másik megoldás a tömb átalakítása ES6Set
és hívja meg ahas()
módszert a másik tömb elemeinek jelenlétének ellenőrzésére.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
függvény metszéspontja(első, második)
{
var s = új készlet(második);
első visszatérés.szűrő (tétel = > s. van (tétel));
};
var first = ;
var second=;
var common = kereszteződés(első, második);
konzol.Log(“a közös elemek:” + közös);
/*
kimenet: a közös elemek a következők: 2,3
*/
|
Ha el szeretné kerülni a másolatok nyomtatását a kimeneten, eltávolíthatja az ismétlődő elemeket az első tömbből az alábbiak szerint:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
funkció kereszteződés(első, második)
{
első = új készlet(első);
második = új készlet(második);
visszatérés .szűrő (item = > második.van (tétel));
};
var first=;
var second=;
var common = kereszteződés(első, második);
konzol.Log(“közös elemek:” + közös);
/*
kimenet: közös elemek: 2,3
*/
|
aláhúzás/Lodash
abban az esetben, ha nem nem akarja használni a set-et közbenső adatstruktúraként a közös értékek megtalálásához, a kód egyszerűsíthető aláhúzás vagy lodash könyvtár segítségével. 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);
konzol.log (“a közös elemek:” + közös);
/*
kimenet: a közös elemek: 2,3
*/
|
jQuery
a jQuery-vel, használhatja az alábbi kódot:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
const { jsdom } = szükséges(“jsdom”);
const { window } = új jsdom();
var $ = szükséges(“jQuery”)(ablak);
var first=;
var second=;
var secondNotFirst = $(második).nem (első); / / – =
var common = $(második).nem (secondNotFirst); / / – =
konzol.log (“a közös elemek:”);
for (var i = 0; i < gyakori.hossz; i++) {
konzol.log (common);
}
/*
kimenet: a közös elemek a következők:
2
3
*/
|
a kód egyszerűsíthető a jQuery használatával filter()
módszer:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
const { jsdom } = szükséges(“jsdom”);
const { window } = új jsdom();
var $ = szükséges(“jQuery”)(ablak);
var first = ;
var second=;
var common = $(második).szűrő (első);
konzol.log (“a közös elemek:”);
for (var i = 0; i < gyakori.hossz; i++) {
konzol.Log (common);
}
/*
kimenet: a közös elemek a következők:
2
3
* /
|