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