Open In App

How to compute union of JavaScript arrays ?

Last Updated : 13 Jul, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Given two arrays containing array elements and the task is to compute the union of both arrays with the help of JavaScript.

These are the methods to solve this problem which are discussed below:

Approach 1:  Using the spread operator and set

  • Declare both arrays named A and B.
  • Use the spread operator to concat both arrays and store them into sets.
  • Since the set removes the duplicate elements.
  • After removing the duplicate elements, it will display the union of the array elements.

Example: This example implements the spread operator approach.

Javascript




let A = [7, 2, 6, 4, 5];
let B = [1, 6, 4, 9];
 
function GFG_Fun() {
    let union = [...new Set([...A, ...B])];
    console.log("Union is: " + union);
}
 
GFG_Fun();


Output

Union is: 7,2,6,4,5,1,9


Approach 2: Using the push() method

  • Here, all elements are stored in a JavaScript object.
  • Storing elements in JavaScript Object is going to remove the duplicate elements.
  • In the end, push all elements in a JavaScript array by using push() method.

Example: This example implements the above approach.

Javascript




let A = [7, 2, 6, 4, 5];
let B = [1, 6, 4, 9];
 
function computeUnion(a, b) {
    let object = {};
 
    for (let i = a.length - 1; i >= 0; --i)
        object[a[i]] = a[i];
 
    for (let i = b.length - 1; i >= 0; --i)
        object[b[i]] = b[i];
 
    let ret = [];
 
    for (let i in object) {
        if (object.hasOwnProperty(i))
            ret.push(object[i]);
    }
 
    return ret;
}
 
console.log(computeUnion(A, B));


Output

[
  1, 2, 4, 5,
  6, 7, 9
]


Approach 3: Using filter() and concat() Method

The JavaScript Array concat() Method is used to merge two or more arrays together and filter() method used to create a new array from a given array consisting of only those elements from the given array which satisfy a condition set by the argument method

Example:

Javascript




let A = [7, 2, 6, 4, 5];
let B = [1, 6, 4, 9];
function GFG_Fun() {
    let newArr =A.concat(B);
    newArr.sort();
    let unionArr = newArr.filter((value, index) =>
                   newArr.indexOf(value) === index);
    console.log(unionArr);
}
 
GFG_Fun();


Output

[
  1, 2, 4, 5,
  6, 7, 9
]


Approach 4: Using Underscore.js _.union() Function

The _.union() function is used to take n number of arrays and return a new array with the unique terms in all those arrays (union of all array).

Javascript




const _ = require('underscore')
let A = [7, 2, 6, 4, 5];
let B = [1, 6, 4, 9];
function GFG_Fun() {
    let union = _.union(A,B)
    console.log("Union is: " + union);
}
GFG_Fun();


Output:

[1,2,4,5,6,7,9]



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads