Enkleste kode for array -kryss i JavaScript

Enkleste kode for array -kryss i JavaScript
Skjæringspunktet mellom to matriser er definert som å hente elementene i begge matriser. Ved programmering kan dette vanligvis oppnås ved å iterere gjennom den ene matrisen og sjekke for tilstedeværelsen av hvert element i den andre matrisen. Det er også innebygde funksjoner/metoder tilgjengelig på mange programmeringsspråk for å utføre denne operasjonen.

Dette innlegget vil definere den enkleste tilnærmingen for array -kryss i JavaScript.

Hvordan skrive den enkleste/raskeste koden for array -kryss i JavaScript?

For å finne skjæringspunktet mellom matriser i JavaScript, er det følgende forhåndsbygde metoder:

  • filter()”Metode med“inkluderer ()”Metode
  • Sett()”Metode med“spre operatør
  • til" Løkke

Metode 1: Array -krysset ved bruk av “Filter ()” -metode med “Inkluderer ()” -metode

Bruke "filter()”Metode for å finne et kryss mellom matriser ved hjelp av“inkluderer ()”Metode. "Inkluderer ()" -metoden verifiserer om elementet i den første matrisen eksisterer i den andre arrayen og returnerer utdataene til filter () -metoden. "Filter ()" -metoden vil filtrere ut elementene og skrive ut elementene på konsollen som er til stede i begge matriser.

Syntaks

Bruk følgende syntaks for å finne skjæringspunktet mellom matriser:

Array1.filter (verdi => array2.inkluderer (verdi))

Eksempel

Lag to matriser “ARR1" og "ARR2”:

var arr1 = [11, 32, 2, 24, 5, 56, 7, 1, 88, 9];
var arr2 = [9, 13, 2, 17, 29, 11];

Ring "filter()”Metode på“ARR2”Som vil iterere“ ARR2 ”-elementene og sjekke“ARR1”Elementer som bruker“inkluderer ()”Metode om ARR2 -elementene eksisterer i ARR1:

var arrayInterseksjon = arr2.filter (verdi => arr1.inkluderer (verdi));

Til slutt, skriv ut de filtrerte elementene på konsollen som finnes på begge matriser:

konsoll.Logg (ArrayInterSection);

Det kan observeres at elementet “9”,“2”, Og“11”Er til stede i begge matriser:

Metode 2: Array -krysset ved bruk av "SET ()" -metode med "Spredningsoperatør"

En annen måte å krysse matriser på er å bruke "Sett()”Metode med en“spredt operatør”. Denne tilnærmingen konverterer først de to matriser til sett ved hjelp av SET () -konstruktøren og bruker deretter filter () -metoden for å filtrere ut alle elementene i det første settet som er til stede i det andre settet.

Syntaks

Følg den medfølgende syntaksen for å finne array -krysset:

[… Nytt sett (ARR1)].Filter (verdi => Newset (ARR2).har (verdi))

Eksempel

Ring "Sett()”Metode med spredningsoperatøren som først vil konvertere begge matriser til sett og deretter sjekke om elementet i ARR1 eksisterer i ARR2 ved å bruke“filter()”Og“har ()”Metode:

var arrayInterseksjon = [... nytt sett (arr1)].Filter (verdi => Nytt sett (ARR2).har (verdi))

Produksjon

Metode 3: Array -krysset ved bruk av "for" -sløyfe

Du kan også bruke “til”Loop med“trykk()”Metode for array -kryss. Det vil iterere begge matriser til deres lengde, og hvis elementet i ARR1 er til stede i ARR2, skyver du det elementet inn i en tom matrise.

Syntaks

Bruk den gitte syntaksen for kryssets arrays ved å bruke "for" -sløyfen:

for (var i = 0; i < array1.length; i++)
for (var j = 0; j < array2.length; j++)
// betingelse

Eksempel

Lag et tomt utvalg:

var arrayInterseksjon = [];

Itererer matriserene ved å bruke "til”Løkke og skyv de samme elementene i begge matriser inn i den tomme matrisen:

for (var i = 0; i < arr1.length; i++)
for (var j = 0; j < arr2.length; j++)
if (arr1 [i] === arr2 [j])
ArrayIntersection.push (arr1 [i]);


Til slutt, skriv ut matrisen på konsollen:

konsoll.Logg (ArrayInterSection);

Utgangen viser skjæringspunktet mellom de to matriser:

Vi har samlet alle metodene for å finne array -krysset, men den enkleste metoden for å gjøre denne oppgaven er "filter()”Metode.

Konklusjon

Den enkleste koden for å finne krysset mellom to matriser i JavaScript bruker "filter()”Metode. Det brukes med "inkluderer ()”Metode som vil sjekke om elementet i den første matrisen eksisterer i den andre matrisen. Dette innlegget beskrev den enkleste/raskeste tilnærmingen for array -krysset i JavaScript.