Open In App

JavaScript – Check if Two Arrays are Disjoint

Last Updated : 17 Nov, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

Here are some approaches to determine if two arrays share any common item in JavaScript

1. Using Loops – Simple

The simplest way to find common items is by using nested loops to compare each item in one array (a1) with every item in the second array (a2). This is great for smaller arrays, but less efficient for larger datasets.

JavaScript
const a1 = [1, 2, 3];
const a2 = [4, 5, 3];

let hasCommonItem = false;
for (let i = 0; i < a1.length; i++) {
    for (let j = 0; j < a2.length; j++) {
        if (a1[i] === a2[j]) {
            hasCommonItem = true;
            break;
        }
    }
}

console.log(hasCommonItem);

Output
true

3. Using Set and some() – Efficient

For larger arrays, converting one array (a2) into a Set and using some() to check items in a1 against the Set reduces time complexity as Set provides constant-time lookups.

JavaScript
const a1 = [1, 2, 3];
const a2 = [4, 5, 3];

const set = new Set(a2);
const hasCommonItem = a1.some(item => set.has(item));
console.log(hasCommonItem);

Output
true

2. Using some() and includes()

The some() method, when combined with includes(), provides a more simpler way to check if any item in a1 exists in a2.

JavaScript
const a1 = [1, 2, 3];
const a2 = [4, 5, 3];

const hasCommonItem = a1.some(item => a2.includes(item));
console.log(hasCommonItem);

Output
true

4. Using filter() to Find Common Items

The filter() method can be used to get an array of items present in both a1 and a2. If the result has elements, then a1 and a2 share common items.

JavaScript
const a1 = [1, 2, 3];
const a2 = [4, 3, 5];

const commonItems = a1.filter(item => a2.includes(item));
console.log(commonItems);
console.log(commonItems.length > 0); 

Output
[ 3 ]
true

5. Using Set Intersection

Creating a Set intersection is efficient when both arrays are converted into Sets. We then filter items from a1 that are in a2, resulting in the intersection of the two sets.

JavaScript
const a1 = [1, 2, 3];
const a2 = [3, 4, 5];

const intersection = new Set(a1.filter(item => new Set(a2).has(item)));
console.log(intersection.size > 0);

Output
true

Importance of Finding Common Items Between Arrays

Finding common items between arrays is crucial for

  • Data Comparison: Quickly verifying overlaps between data lists.
  • Conditional Processing: Executing code based on shared elements.
  • Performance: Optimizing large data comparisons by choosing efficient methods like Set.


Next Article

Similar Reads