keresse meg két tömb metszéspontját a JavaScript-ben

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

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.