Програма JavaScript для перетину між двома масивами

У цьому прикладі ви навчитеся писати програму JavaScript, яка виконуватиме перетин між двома масивами.

Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування JavaScript:

  • Javascript Array filter ()
  • JavaScript Array push ()
  • Набір JavaScript та WeakSet

Приклад 1: Виконайте перетин за допомогою набору

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

Вихідні дані

 (1, 3, 5)

У наведеній вище програмі виконується перетин між array1і array2.

  • Елементи масиву перетворюються в Setелементи за допомогою new Set()конструктора.
  • for… ofЦикл використовуються для перебору друге Setелементів.
  • has()Метод використовується для перевірки , якщо елемент знаходиться в першій Set.
  • Якщо елемент присутній у першому Set, цей елемент додається до масиву intersectionResult за допомогою push()методу.

Приклад 2: Виконайте перетин за допомогою методу 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);

Вихідні дані

 (1, 3, 5)

У наведеній вище програмі виконується перетин між двома масивами за допомогою filter()методу. Метод фільтра перебирає масив і повертає елементи масиву, які передають задану умову.

  • Кожен елемент першого масиву порівнюється з другим масивом за допомогою indexOf()методу.
  • У arr2.indexOf(x)пошуках методу arr2 і повертають позицію першого входження arr1. Якщо значення не вдається знайти, воно повертає -1 .
  • Всі елементи, що знаходяться в обох масивах, повертаються filter()методом.

Примітка: Ви також можете використовувати includes()метод, щоб перевірити, чи є елементи масиву в обох масивах.

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

Цікаві статті...