Пересечение массивов в JavaScript ES6: методы поиска общих элементов

В JavaScript ES6 существует несколько методов, которые можно использовать для поиска пересечения массивов. Вот некоторые часто используемые подходы:

  1. Использование методов filter()и includes():

    const arrayIntersection = (arr1, arr2) => arr1.filter(element => arr2.includes(element));
  2. Использование структуры данных filter()и Set:

    const arrayIntersection = (arr1, arr2) => arr1.filter(element => new Set(arr2).has(element));
  3. Использование метода filter()и функции indexOf():

    const arrayIntersection = (arr1, arr2) => arr1.filter(element => arr2.indexOf(element) !== -1);
  4. Применение метода reduce():

    const arrayIntersection = (arr1, arr2) => arr1.reduce((result, element) => {
    if (arr2.includes(element)) {
    result.push(element);
    }
    return result;
    }, []);
  5. Использование метода intersection()из библиотеки Lodash:

    const arrayIntersection = require('lodash.intersection');
    const result = arrayIntersection(arr1, arr2);