How to find every element that exists in any of two given arrays once using JavaScript ?
In this article, we will learn how to find every element that exists in any of the given two arrays. To find every element that exists in any of two given arrays, you can merge the arrays and remove any duplicate elements.
Method 1: Using Set
A set is a collection of unique items i.e. no element can be repeated. We will add all elements of two arrays to the set, and then we will return the set.
Example: In this example, we will see the use of the Javascript set method to find every element that exists in any of the two given arrays once.
// Function which takes an array as argument
const print = (arr1,arr2) => {
// Creating a set with elements of arr1
const set = new Set(arr1)
// Adding elements of arr2
arr2.forEach(element => {
set.add(element)
});
// Returning resultant array
return set
}
// Input array
const arr1 = [10, 20, 30, 40, 50]
const arr2 = [10,20,34,32,11]
// Printing the result
console.log(print(arr1,arr2))
Output
Set(8) { 10, 20, 30, 40, 50, 34, 32, 11 }
Method 2: Using loop
In this approach, we will choose one array and then we will run a loop on the second array and check whether an element of this array is present in the first array or not. If an element is already present, we skip otherwise we will add this to the first array.
Example: In this example, we will see the use of Javascript loops to find every element that exists in any of the two given arrays once.
// Javascript program to find all element
// present in any of two given arrays
// Function which takes an array as argument
const print = (arr, arr2) => {
// A counter for adding element
let k = arr.length
// Checking every element and
// adding required element
arr2.forEach(element => {
if (arr.indexOf(element) == -1) {
arr[k] = element
k++
}
});
// Returning resultant array
return arr
}
// Input array
const arr1 = [1, 2, 3, 4, 5]
const arr2 = [1, 2, 3, 4]
// Printing the result
console.log(print(arr1, arr2))
Output
[ 1, 2, 3, 4, 5 ]
Method 3: Using filter() and concat()
In this method, we will use the concat() method to merge the array and filter() method for removing the element which repeats.
Example:
function findElementsInArr(arr1, arr2) {
let mergedArray = arr1.concat(arr2);
let uniqueEle = mergedArray.filter(function (element, index, self) {
return self.indexOf(element) === index;
});
return uniqueEle;
}
let arr1 = [1, 2, 3, 4];
let arr2 = [3, 4, 5, 6];
let result = findElementsInArr(arr1, arr2);
console.log(result);
Output
[ 1, 2, 3, 4, 5, 6 ]
Method 5: Using reduce and includes
Using reduce and includes, combine two arrays and build a new array with unique elements. The reduce method iterates through the combined array, adding each element to the accumulator if it doesn't already include it, ensuring no duplicates.
Example: In this example we combines array1 and array2 using concat, then uses reduce to create a union array containing unique elements by checking for duplicates with includes.
const array1 = [1, 2, 3];
const array2 = [3, 4, 5];
const combinedArray = array1.concat(array2);
const union = combinedArray.reduce((acc, item) => {
if (!acc.includes(item)) {
acc.push(item);
}
return acc;
}, []);
console.log(union);
Output
[ 1, 2, 3, 4, 5 ]