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 array1
und durchgeführt array2
.
- Die Array-Elemente werden
Set
mit demnew Set()
Konstruktor in Elemente konvertiert . - Die
for… of
Schleife wird verwendet, um die zweitenSet
Elemente zu durchlaufen . - Die
has()
Methode wird verwendet, um zu überprüfen, ob sich das Element im ersten befindetSet
. - Wenn das Element im ersten
Set
Element vorhanden ist, wird dieses Element mithilfe derpush()
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))