Простые способы найти пересечения массивов в JavaScript без библиотек

Вот простой пример кода на JavaScript без библиотеки для поиска пересечения двух массивов:

Метод 1: использование набора

function intersection(arr1, arr2) {
  const set1 = new Set(arr1);
  const set2 = new Set(arr2);
  const result = [];
  for (const item of set1) {
    if (set2.has(item)) {
      result.push(item);
    }
  }
  return result;
}
const array1 = [1, 2, 3, 4, 5];
const array2 = [4, 5, 6, 7, 8];
const result = intersection(array1, array2);
console.log(result); // Output: [4, 5]

Метод 2: использование filter()

function intersection(arr1, arr2) {
  return arr1.filter(item => arr2.includes(item));
}
const array1 = [1, 2, 3, 4, 5];
const array2 = [4, 5, 6, 7, 8];
const result = intersection(array1, array2);
console.log(result); // Output: [4, 5]

Метод 3. Использование метода уменьшения()

function intersection(arr1, arr2) {
  return arr1.reduce((result, item) => {
    if (arr2.includes(item)) {
      result.push(item);
    }
    return result;
  }, []);
}
const array1 = [1, 2, 3, 4, 5];
const array2 = [4, 5, 6, 7, 8];
const result = intersection(array1, array2);
console.log(result); // Output: [4, 5]