JavaScript-Programm zum Durchführen eines Schnittpunkts zwischen zwei Arrays

In diesem Beispiel lernen Sie, ein JavaScript-Programm zu schreiben, das einen Schnittpunkt zwischen zwei Arrays ausführt.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden JavaScript-Programmierthemen kennen:

  • Javascript Array Filter ()
  • JavaScript Array push ()
  • JavaScript Set und WeakSet

Beispiel 1: Führen Sie einen Schnittpunkt mit Set durch

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

Ausgabe

 (1, 3, 5)

Im obigen Programm wird eine Schnittmenge zwischen array1und durchgeführt array2.

  • Die Array-Elemente werden Setmit dem new Set()Konstruktor in Elemente konvertiert .
  • Die for… ofSchleife wird verwendet, um die zweiten SetElemente zu durchlaufen .
  • Die has()Methode wird verwendet, um zu überprüfen, ob sich das Element im ersten befindet Set.
  • Wenn das Element im ersten SetElement vorhanden ist, wird dieses Element mithilfe der push()Methode zum Array intersResult hinzugefügt .

Beispiel 2: Schnittpunkt mit der filter () -Methode durchführen

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

Ausgabe

 (1, 3, 5)

In dem obigen Programm wird eine Schnittmenge zwischen zwei Arrays unter Verwendung der filter()Methode durchgeführt. Die Filtermethode durchläuft ein Array und gibt die Array-Elemente zurück, die die angegebene Bedingung erfüllen.

  • Jedes Element des ersten Arrays wird mit der indexOf()Methode mit dem zweiten Array verglichen .
  • Die arr2.indexOf(x)Methode durchsucht arr2 und gibt die Position des ersten Auftretens von arr1 zurück. Wenn der Wert nicht gefunden werden kann, wird -1 zurückgegeben .
  • Alle Elemente in beiden Arrays werden von der filter()Methode zurückgegeben.

Hinweis: Mit der includes()Methode können Sie auch überprüfen, ob sich die Array-Elemente in beiden Arrays befinden.

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

Interessante Beiträge...