javascript / intermediate
Snippet
Set-Schnittmenge zur Datendeduplizierung
Die Verwendung der has()-Methode des Set-Objekts innerhalb eines Filters bietet eine performante Möglichkeit, die Schnittmenge zweier Arrays zu finden. Die Suche in einem Set hat eine O(1)-Komplexität im Vergleich zu O(n) bei Array.includes().
snippet.js
1
2
3
4
5
const groupA = [1, 2, 3, 4];const groupB = [3, 4, 5, 6];const setB = new Set(groupB);const intersection = groupA.filter(item => setB.has(item));console.log(intersection); // [3, 4]
Erklärung
1
const setB = new Set(groupB);
Konvertiert das zweite Array in ein Set für O(1)-Suchperformance.
2
groupA.filter(item => setB.has(item));
Iteriert durch das erste Array und behält Elemente, die im Set vorhanden sind.