JavaScript-program for å utføre skjæringspunkt mellom to arrays

I dette eksemplet vil du lære å skrive et JavaScript-program som vil utføre et skjæringspunkt mellom to matriser.

For å forstå dette eksemplet, bør du ha kunnskap om følgende JavaScript-programmeringsemner:

  • Javascript Array filter ()
  • JavaScript Array push ()
  • JavaScript-sett og svakt sett

Eksempel 1: Utfør kryss ved bruk av sett

 // program to perform intersection between two arrays using Set // intersection contains the elements of array1 that are also in array2 function performIntersection(arr1, arr2) ( // converting into Set const setA = new Set(arr1); const setB = new Set(arr2); let intersectionResult = (); for (let i of setB) ( if (setA.has(i)) ( intersectionResult.push(i); ) ) return intersectionResult; ) const array1 = (1, 2, 3, 5, 9); const array2 = (1, 3, 5, 8); const result = performIntersection(array1, array2); console.log(result);

Produksjon

 (1, 3, 5)

I programmet ovenfor utføres et skjæringspunkt mellom array1og array2.

  • Matriseelementene konverteres til Setelementer ved hjelp av new Set()konstruktøren.
  • Den for… ofkoplingssløyfe anvendes til å iterere over de andre Setelementene.
  • Den has()metoden brukes for å kontrollere om elementet er i den første Set.
  • Hvis elementet er tilstede i det første Set, legges det elementet til intersectionResult-matrisen ved hjelp av push()metoden.

Eksempel 2: Utfør kryss ved hjelp av filter () -metoden

 // program to perform intersection between two arrays function performIntersection(arr1, arr2) ( const intersectionResult = arr1.filter(x => arr2.indexOf(x) !== -1); return intersectionResult; ) const array1 = (1, 2, 3, 5, 9); const array2 = (1, 3, 5, 8); const result = performIntersection(array1, array2); console.log(result);

Produksjon

 (1, 3, 5)

I det ovennevnte programmet utføres et skjæringspunkt mellom to matriser ved hjelp av filter()metoden. Filtermetoden gjentas over en matrise og returnerer matriseelementene som passerer den gitte tilstanden.

  • Hvert element i den første matrisen sammenlignes med den andre matrisen ved hjelp av indexOf()metoden.
  • Den arr2.indexOf(x)metoden søker arr2 og returnerer den plassering av den første forekomsten av arr1. Hvis verdien ikke blir funnet, returnerer den -1 .
  • Alle elementene som er i begge matriser returneres etter filter()metoden.

Merk: Du kan også bruke includes()metoden til å sjekke om matriseelementene er i begge matriser.

 const intersectionResult = arr1.filter(x => arr2.includes(x))

Interessante artikler...