Finn krysset mellom to arrays i JavaScript

I dette innlegget vil Vi se hvordan du finner krysset mellom to arrays i JavaScript. For ord, liste ut de felles verdiene som er tilstede i hver av arrays.

for eksempel er skjæringspunktet mellom matriser og .

Matrise.prototype.filter ()

tanken er å kontrollere tilstedeværelsen av hvert element i den første gruppen i den andre gruppen. 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.Logg(«de vanlige elementene er:» + felles);
/*
Utgang: de vanlige elementene er: 2,3
*/

for å sjekke om det finnes visse elementer i en matrise, kan vi bruk Også Den Nyesteincludes() – metoden som returnerer en boolsk Verdi. Dette er illustrert nedenfor:

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

Merk denne løsningen resulterer ikke i unike verdier i utgangen.

Ved Hjelp Av Set

en annen løsning er å konvertere matrisen TIL EN ES6 Set og ring dens has() metode for å se etter tilstedeværelse av elementer i den andre matrisen.

funksjonskryss(første, andre)
{
var s = nytt sett(sekund);
returner først.filter(element => s.has(element));
};
var først = ;
var andre = ;
var felles = skjæringspunkt(første, andre);
konsoll.Logg(«de vanlige elementene er:» + felles);
/*
Utgang: de vanlige elementene er: 2,3
*/

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

for å unngå å skrive ut duplikater i utgangen, kan du fjerne dupliserte elementer fra den første Tabellen som vist nedenfor:

funksjon kryss(første, andre)
{
første = nytt sett(første);
andre = nytt sett(andre);
retur .filter (element => sekund.har(vare));
};
var første=;
var andre=;
var felles = skjæringspunkt(første, andre);
konsoll.Logg(«Vanlige elementer er:» + felles);
/*
Utgang: Vanlige elementer er: 2,3
*/

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

Understrek/Lodash

i tilfelle du ikke trenger ikke Ønsker å Bruke satt som en mellomliggende datastruktur for å finne felles verdier, kan koden forenkles ved hjelp av understreking eller lodash bibliotek. 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);
konsoll.logg («de vanlige elementene er:» + felles);
/*
Utgang: de vanlige elementene er: 2,3
*/

jQuery

med jQuery, du kan bruke koden nedenfor:

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

const { jsdom } = krever(«jsdom»);
const { window } = new jsdom ();
var $ = require(«jquery»)(vindu);
var første=;
var andre=;
var andre = $(andre).ikke (første); / / – =
var vanlig = $(andre).ikke (secondNotFirst); // – =
konsoll.logg («de vanlige elementene er:»);
for (var i = 0; i< felles.lengde; i++) {
konsoll.logg (vanlig);
}
/*
Utgang: de vanlige elementene er:
2
3
*/

koden kan forenkles ved hjelp av jquery filter() metode:

const { jsdom } = krev(«jsdom»);
const { window } = ny jsdom ();
var $ = require(«jquery»)(vindu);
var først = ;
var andre=;
var vanlig = $(andre).filter (først);
konsoll.logg («de vanlige elementene er:»);
for (var i = 0; i< felles.lengde; i++) {
konsoll.logg(vanlig);
}
/*
Utgang: de vanlige elementene er:
2
3
*/

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

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.