JavaScript-programma om kruising tussen twee arrays uit te voeren

In dit voorbeeld leert u een JavaScript-programma te schrijven dat een kruising tussen twee arrays uitvoert.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende JavaScript-programmeeronderwerpen:

  • Javascript-matrixfilter ()
  • JavaScript-matrix push ()
  • JavaScript Set en WeakSet

Voorbeeld 1: kruispunt uitvoeren met set

 // 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);

Uitvoer

 (1, 3, 5)

In het bovenstaande programma wordt een kruising uitgevoerd tussen array1en array2.

  • De array-elementen worden Setmet de new Set()constructor omgezet in elementen .
  • De for… oflus wordt gebruikt om de tweede Setelementen te herhalen .
  • De has()methode wordt gebruikt om te controleren of het element zich in het eerste bevindt Set.
  • Als het element aanwezig is in het eerste Set, wordt dat element met de push()methode toegevoegd aan de intersectionResult-array .

Voorbeeld 2: kruispunt uitvoeren met de methode filter ()

 // 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);

Uitvoer

 (1, 3, 5)

In het bovenstaande programma wordt een kruising uitgevoerd tussen twee arrays met behulp van de filter()methode. De filtermethode itereert over een array en retourneert de array-elementen die aan de gegeven voorwaarde voldoen.

  • Elk element van de eerste array wordt met behulp van de indexOf()methode vergeleken met de tweede array .
  • De arr2.indexOf(x)methode zoekt arr2 en retourneert de positie van de eerste keer dat arr1 voorkomt. Als de waarde niet kan worden gevonden, wordt -1 geretourneerd .
  • Alle elementen in beide arrays worden geretourneerd door de filter()methode.

Opmerking: u kunt de includes()methode ook gebruiken om te controleren of de array-elementen in beide arrays staan.

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

Interessante artikelen...