How to find if two arrays contain any common item in Javascript ?
Given two arrays containing array elements and the task is to check if two arrays contain any common elements then it returns True otherwise returns False.
Examples:
Input: array1 = ['a', 'b', 'c', 'd', 'e'] array2 = ['f', 'g', 'c'] Output: true Input: array1 = ['x', 'y', 'w', 'z'] array2 = ['m', 'n', 'k'] Output: false
There are many methods to solve this problem in JavaScript some of them are discussed below.
Method 1: Brute Force approach
- Compare each and every item from the first array to each and every item of the second array.
- Loop through array1 and iterate it from beginning to end.
- Loop through array2 and iterate it from beginning to end.
- Compare each and every item from array1 to array2 and if it finds any common item then return true otherwise return false.
Example: In this example, we will be using the above approach to find if two arrays contain any common item in Javascript.
javascript
<script> // Declare two array const array1 = [ 'a' , 'b' , 'c' , 'd' ]; const array2 = [ 'k' , 'x' , 'z' ]; // Function definition with passing two arrays function findCommonElement(array1, array2) { // Loop for array1 for (let i = 0; i < array1.length; i++) { // Loop for array2 for (let j = 0; j < array2.length; j++) { // Compare the element of each and // every element from both of the // arrays if (array1[i] === array2[j]) { // Return if common element found return true ; } } } // Return if no common element exist return false ; } console.log(findCommonElement(array1, array2)) </script> |
Output:
false
Method 2:
- Create an empty object and loop through the first array.
- Check if the elements from the first array exist in the object or not. If it doesn’t exist then assign properties === elements in the array.
- Loop through the second array and check if elements in the second array exist on created object.
- If an element exists then return true else return false.
Example: In this example, we will be using the above approach to find if two arrays contain any common item in Javascript.
javascript
<script> // Declare Two array const array1 = [ 'a' , 'd' , 'm' , 'x' ]; const array2 = [ 'p' , 'y' , 'k' ]; // Function call function findCommonElements2(arr1, arr2) { // Create an empty object let obj = {}; // Loop through the first array for (let i = 0; i < arr1.length; i++) { // Check if element from first array // already exist in object or not if (!obj[arr1[i]]) { // If it doesn't exist assign the // properties equals to the // elements in the array const element = arr1[i]; obj[element] = true ; } } // Loop through the second array for (let j = 0; j < arr2.length ; j++) { // Check elements from second array exist // in the created object or not if (obj[arr2[j]]) { return true ; } } return false ; } console.log(findCommonElements2(array1, array2)) </script> |
Output:
false
Method 3:
- Use the inbuilt ES6 function some() to iterate through each and every element of the first array and to test the array.
- Use the inbuilt function includes() with the second array to check if an element exists in the first array or not.
- If an element exists then return true else returns false
javascript
<script> // Declare two array const array1= [ 'a' , 'b' , 'x' , 'z' ]; const array2= [ 'k' , 'x' , 'c' ] // Iterate through each element in the // first array and if some of them // include the elements in the second // array then return true. function findCommonElements3(arr1, arr2) { return arr1.some(item => arr2.includes(item)) } console.log(findCommonElements3(array1, array2)) </script> |
Output:
true
JavaScript is best known for web page development but it is also used in a variety of non-browser environments. You can learn JavaScript from the ground up by following this JavaScript Tutorial and JavaScript Examples.
Please Login to comment...