Dans cet exemple, vous apprendrez à écrire un programme JavaScript qui effectuera une intersection entre deux tableaux.
Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation JavaScript suivants:
- Filtre de tableau Javascript ()
- JavaScript Array push ()
- Ensemble JavaScript et WeakSet
Exemple 1: effectuer une intersection à l'aide de 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);
Production
(1, 3, 5)
Dans le programme ci-dessus, une intersection est effectuée entre array1
et array2
.
- Les éléments du tableau sont convertis en
Set
éléments à l'aide dunew Set()
constructeur. - La
for… of
boucle est utilisée pour parcourir les deuxièmesSet
éléments. - La
has()
méthode est utilisée pour vérifier si l'élément est dans le premierSet
. - Si l'élément est présent dans le premier
Set
, cet élément est ajouté au tableau intersectionResult à l'aide de lapush()
méthode.
Exemple 2: effectuer une intersection à l'aide de la méthode 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);
Production
(1, 3, 5)
Dans le programme ci-dessus, une intersection est effectuée entre deux tableaux en utilisant la filter()
méthode. La méthode filter effectue une itération sur un tableau et retourne les éléments du tableau qui passent la condition donnée.
- Chaque élément du premier tableau est comparé au deuxième tableau à l'aide de la
indexOf()
méthode. - La
arr2.indexOf(x)
méthode recherche arr2 et renvoie la position de la première occurrence de arr1. Si la valeur est introuvable, elle renvoie -1 . - Tous les éléments qui se trouvent dans les deux tableaux sont renvoyés par la
filter()
méthode.
Remarque: vous pouvez également utiliser la includes()
méthode pour vérifier si les éléments du tableau sont dans les deux tableaux.
const intersectionResult = arr1.filter(x => arr2.includes(x))