Метод 1: использование цикла for
Один простой способ найти пересечение двух массивов — использовать цикл for. Мы можем перебрать каждый элемент первого массива и проверить, существует ли он во втором массиве. Если да, то мы добавляем его в новый массив, который будет содержать пересечение.
function intersectArrays(array1, array2) {
const intersection = [];
for (let i = 0; i < array1.length; i++) {
if (array2.includes(array1[i])) {
intersection.push(array1[i]);
}
}
return intersection;
}
Метод 2: использование метода filter()
JavaScript предоставляет удобный метод под названием filter(), который можно использовать для создания нового массива со всеми элементами, прошедшими определенный тест. Мы можем использовать этот метод, чтобы найти пересечение между двумя массивами, отфильтровав элементы, которых нет в обоих массивах.
function intersectArrays(array1, array2) {
return array1.filter(element => array2.includes(element));
}
Метод 3: использование наборов
Множества — это встроенная структура данных в JavaScript, которая допускает только уникальные значения. Мы можем использовать множества, чтобы легко найти пересечение двух массивов.
function intersectArrays(array1, array2) {
const set1 = new Set(array1);
const set2 = new Set(array2);
return [...set1].filter(element => set2.has(element));
}
Метод 4: использование метода уменьшения()
Метод reduce()в JavaScript позволяет нам преобразовать массив в одно значение, применяя функцию к каждому элементу. Мы можем использовать этот метод для поиска пересечения двух массивов.
function intersectArrays(array1, array2) {
return array1.reduce((intersection, element) => {
if (array2.includes(element)) {
intersection.push(element);
}
return intersection;
}, []);
}