Use filter with includes to find common elements
const arr1 = [1, 2, 3, 4];
const arr2 = [3, 4, 5, 6];
const intersection = arr1.filter(x => arr2.includes(x));
console.log(intersection); // [3, 4]const skills1 = ['JavaScript', 'React', 'Node', 'CSS'];
const skills2 = ['Python', 'React', 'CSS', 'Docker'];
// Find common skills
const common = skills1.filter(skill => skills2.includes(skill));
console.log(common);
// Multiple arrays intersection
const intersectAll = (...arrays) => {
return arrays.reduce((acc, arr) =>
acc.filter(item => arr.includes(item))
);
};
const result = intersectAll([1, 2, 3], [2, 3, 4], [3, 4, 5]);
console.log(result);
// Using Set for better performance
const intersection = (arr1, arr2) => {
const set2 = new Set(arr2);
return arr1.filter(x => set2.has(x));
};const difference = arr1.filter(x => !arr2.includes(x));const symDiff = arr1.filter(x => !arr2.includes(x))
.concat(arr2.filter(x => !arr1.includes(x)));Avoid nested loops for large arrays
// DON'T DO THIS - O(n²) complexity
var common = [];
for (var i = 0; i < arr1.length; i++) {
for (var j = 0; j < arr2.length; j++) {
if (arr1[i] === arr2[j]) common.push(arr1[i]);
}
}✓ Works in all modern browsers (ES2015+)