Open In App

Sets in JavaScript

Last Updated : 30 May, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Sets in JavaScript are collections of unique values, meaning no duplicates are allowed. They provide efficient ways to store and manage distinct elements. Sets support operations like adding, deleting, and checking the presence of items, enhancing performance for tasks requiring uniqueness.

Syntax: 

new Set([it]);

Parameter: 

  • it: It is an iterable object whose all elements are added to the new set created, If the parameter is not specified or null is passed then a new set created is empty.

Return Value:

A new set object.

Example: This example shows the implementation of a JavaScript set.

Javascript
// ["sumit","amit","anil","anish"]
let set1 = new Set(["sumit","sumit","amit","anil","anish"]);

// it contains 'f', 'o', 'd'
let set2 = new Set("fooooooood");

// it contains [10, 20, 30, 40]
let set3 = new Set([10, 20, 30, 30, 40, 40]);

 // it is an  empty set
let set4 = new Set();


Properties of Set in JavaScript: 

Set.size – It returns the number of elements in the Set.

Methods of Set in JavaScript: 

1. Set.add()

Set.add() adds the new element with a specified value at the end of the Set object.

Syntax: 

set1.add(val);

Parameter:

  • val: It is a value to be added to the set.

Return value: The set object

Example: In this example, we are adding values into the set by using add() method.

Javascript
let set1 = new Set();

set1.add(10);
set1.add(20);

// As this method returns
// the set object hence chaining 
// of add method can be done.
set1.add(30).add(40).add(50);

console.log(set1);

Output:

Set(5) {10, 20, 30, 40, 50}

2. Set.delete()

Set.delete() deletes an element with the specified value from the Set object. 

Syntax: 

set1.delete(val);

Parameter:

  • val: It is a value to be deleted from the set.

Return value: true if the value is successfully deleted from the set else returns false.

Example: In this example, we are deleting the values into the set by using delete() method.

Javascript
let set1 = new Set("foooodiiiieee");

// deleting e from the set
// it prints true
console.log(set1.delete('e'));

console.log(set1);

// deleting an element which is 
// not in the set
// prints false
console.log(set1.delete('g'));

Output:

true
Set(4) {'f', 'o', 'd', 'i'}
false

3. Set.clear()

Set.clear() removes all the element from the set. 

Syntax: 

set1.clear();

Parameter:

This method does not take any parameter

Return value: Undefined

Example: In this example, we are clearing the values into the set by using clear() method.

Javascript
let set2 = new Set([10, 20, 30, 40, 50]);

console.log(set2);

set2.clear()

console.log(set2);

Output:

Set(5) {10, 20, 30, 40, 50}
Set(0) {size: 0}

4. Set.entries()

Set.entries() returns an iterator object which contains an array having the entries of the set, in the insertion order. 

Syntax:

set1.entries();

Parameter:

This method does not take any parameter

Return value: It returns an iterator object that contains an array of [value, value] for every element of the set, in the insertion order. 

Example: In this example, we are using enteries() method.

Javascript
let set1 = new Set();

set1.add(50);
set1.add(30);
set1.add(40);
set1.add(20);
set1.add(10);

// using entries to get iterator
let getEntriesArry = set1.entries();

// each iterator is array of [value, value]
console.log(getEntriesArry.next().value);

console.log(getEntriesArry.next().value);

console.log(getEntriesArry.next().value);

Output:

(2) [50, 50]
(2) [30, 30]
(2) [40, 40]

5. Set.has()

Set.has() returns true if the specified value is present in the Set object. 

Syntax:  

set1.has(val);

Parameter: 

  • val: The value to be searched in the Set

Return value: True if the value is present else it returns false.

Example: In this example, we are checking whether the value is present in the set by using has() method.

Javascript
let set1 = new Set();

// adding element to the set
set1.add(50);
set1.add(30);
            
console.log(set1.has(50));

console.log(set1.has(10));

Output:

true
false

6. Set.values()

Set.values() returns all the values from the Set in the same insertion order. 

Syntax:  

set1.values();

Parameter:

This method does not take any parameter

Return value: An iterator object that contains all the values of the set in the same order as they are inserted.

7. Set.keys()

Set.keys() also returns all the values from the Set in the insertion order. 

Note: It is similar to the values() in the case of Sets 

Syntax: 

set1.keys();

Parameter:

This method does not take any parameter

Return Value: An iterator object that contains all the values of the set in the same order as they are inserted. 

Example: In this example, we are printing all the values of the set by using keys() method.

Javascript
let set1 = new Set();

// adding element to the set
set1.add(50);
set1.add(30);
set1.add(40);
set1.add("Geeks");
set1.add("GFG");

// getting all the values
let getValues = set1.values();

console.log(getValues);

let getKeys = set1.keys();

console.log(getKeys);

Output:

SetIterator {50, 30, 40, 'Geeks', 'GFG'}
SetIterator {50, 30, 40, 'Geeks', 'GFG'}

8. Set.forEach()

Set.forEach() executes the given function once for every element in the Set, in the insertion order. 

Syntax:  

set1.forEach(callback[,thisargument]);

Parameter:

  • callback – It is a function that is to be executed for each element of the Set.
    • The callback function is provided with three parameters as follows: 
      • the element key
      • the element value
      • the Set object to be traversed
  • thisargument – Value to be used as this when executing the callback.

Return value: Undefined

9. Set.prototype[@@iterator]()

Set.prototype[@@iterator]() returns a Set iterator function which is values() function by default. 

Syntax: 

set1[Symbol.iterator]();

Parameter:

This method does not take any parameter

Return value:   A Set iterator function and it is values() by default.

Example: In this example, we are iterating the values from the set.

Javascript
let set1 = new Set(["sumit","sumit","amit","anish"]);

let getit = set1[Symbol.iterator]();

console.log(getit.next());

console.log(getit.next());

console.log(getit.next());

console.log(getit.next());

Output:

{value: 'sumit', done: false}
{value: 'amit', done: false}
{value: 'anish', done: false}
{value: undefined, done: true}

Set Operations in JavaScript

JavaScript subSet() Method:

It returns true if Set A is a subset of Set B.  A Set A is said to be a subset of Set B, if all the elements of Set A is also present in Set B. Now lets implement and use the subset function. 

Example: In this example, we are checking whether the given subset is present in the given set or not and returning the result according to it.

Javascript
Set.prototype.subSet = function(otherSet)
{
    // if size of this set is greater
    // than otherSet then it can't be 
    //  a subset
    if(this.size > otherSet.size)
        return false;
    else
    {
        for(let elem of this)
        {
            // if any of the element of 
            // this is not present in the
            // otherset then return false
            if(!otherSet.has(elem))
                return false;
        }
        return true;
    }
}

// using the subSet function

// Declaring different sets
let setA = new Set([10, 20, 30]);
let setB = new Set([50, 60, 10, 20, 30, 40]);
let setC = new Set([10, 30, 40, 50]);

// prints true
console.log(setA.subSet(setB));

// prints false
console.log(setA.subSet(setC));

// prints true
console.log(setC.subSet(setB));

Output:

true
false
true

JavaScript union() Method:

It returns a Set which consists of the union of Set A and Set B. A Set is said to be a union of two sets, if it contains all elements of Set A as well as all elements of Set B, but it doesn’t contain duplicate elements. 

If an element is present in both Set A and Set B then the union of Set A and B will contain a single copy of the element. Let’s implement and use the union function 

Example: In this example, we are merging the two sets.

Javascript
Set.prototype.union = function(otherSet)
{
    // creating new set to store union
    let unionSet = new Set();

    // iterate over the values and add 
    // it to unionSet
    for (let elem of this)
    {
        unionSet.add(elem);
    }

    // iterate over the values and add it to 
    // the unionSet
    for(let elem of otherSet)
        unionSet.add(elem);

    // return the values of unionSet
    return unionSet;
}

// using the union function
// Declaring values for set1 and set2
let set1 = new Set([10, 20, 30, 40, 50]);
let set2 = new Set([40, 50, 60, 70, 80]);  

// performing union operation
// and storing the resultant set in 
// unionSet
let unionSet = set1.union(set2);

console.log(unionSet.values());

Output:

SetIterator {10, 20, 30, 40, 50, â€¦}

JavaScript intersection() Method:

It returns the intersection of Set A and Set B. A Set is said to be the intersection of Set A and B if contains an element which is present both in Set A and Set B. Let’s implement and use the intersection function 

Example: In this example, we are finding the insersection of two sets.

Javascript
Set.prototype.intersection = function(otherSet)
{
    // creating new set to store intersection
    let intersectionSet = new Set();

    // Iterate over the values 
    for(let elem of otherSet)
    {
        // if the other set contains a 
        // similar value as of value[i]
        // then add it to intersectionSet
        if(this.has(elem))
            intersectionSet.add(elem);
    }

// return values of intersectionSet
return intersectionSet;                
}
// using intersection function
// Declaring values for set1 and set2
let set1 = new Set([10, 20, 30, 40, 50]);
let set2 = new Set([40, 50, 60, 70, 80]);  

// performing union operation
// and storing the resultant set in 
// intersectionset
let intersectionSet = set1.intersection(set2);

console.log(intersectionSet.values());

Output:

SetIterator {40, 50}

JavaScript difference() Method:

It returns the Set which contains the difference between Set A and Set B. A Set is said to be a difference between Set A and B if it contains set of elements e which are present in Set A but not in Set B. Let’s implement and use the difference function 

Example: In this example, we are finding the difference of two sets. 

Javascript
Set.prototype.difference = function(otherSet)
{
    // creating new set to store difference
    let differenceSet = new Set();

    // iterate over the values
    for(let elem of this)
    {
        // if the value[i] is not present 
        // in otherSet add to the differenceSet
        if(!otherSet.has(elem))
            differenceSet.add(elem);
    }

    // returns values of differenceSet
    return differenceSet;
}

// using difference function
// Declaring values for set1 and set2
let set1 = new Set([10, 20, 30, 40, 50]);
let set2 = new Set([40, 50, 60, 70, 80]);  

// performing union operation
// and storing the resultant set in 
// intersectionset
let differenceSet = set1.difference(set2);

console.log(differenceSet);

Output:

Set(3) {10, 20, 30}

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.



Previous Article
Next Article

Similar Reads

Javascript Program for Counting sets of 1s and 0s in a binary matrix
Given a n × m binary matrix, count the number of sets where a set can be formed one or more same values in a row or column. Examples: Input: 1 0 1 0 1 0 Output: 8 Explanation: There are six one-element sets (three 1s and three 0s). There are two two- element sets, the first one consists of the first and the third cells of the first row. The second
3 min read
How to perform intersection of two sets in JavaScript ?
An intersection of two sets means the element which occurs in both sets. In mathematical terms, the intersection of two sets is shown by A ∩ B. It means all the elements which is common in set A and set B should occur in a single array. In javascript, the intersection of two sets means getting the common from both sets. We can find the intersection
2 min read
How to get the union of two sets in JavaScript ?
A union set is the combination of two elements. In mathematical terms, the union of two sets is shown by A ∪ B. It means all the elements in set A and set B should occur in a single array. In JavaScript, a union set means adding one set element to the other set. Set automatically take care of the uniqueness of elements. Below are the approaches thr
2 min read
What is the use of Delete method in Sets in JavaScript ?
In JavaScript Sets, the delete() method is used to remove a specified element from the Set. It returns a boolean value indicating whether the element was successfully deleted. Syntax:mySet.delete(value);Parameters:mySet: The Set from which the element is to be deleted.value: The value of the element to be deleted from the Set.Example: Here, the del
1 min read
What is the use of the Clear method in Sets in JavaScript ?
The clear() method in JavaScript Sets is used to remove all elements from a Set, effectively making the Set empty. It does not take any arguments and does not return any value. After calling the clear(), the Set will have a size of 0. Example: Here, the clear() method is called on the mySet Set, removing all elements and leaving an empty Set. C/C++
1 min read
What is the use of the Add method in Sets in JavaScript ?
In JavaScript, the add() method is used with Sets to add a new element to the Set. It ensures that the element is unique within the Set, meaning that duplicates are automatically ignored. Example: Here, the add() method is used to add the values 1, 2, and 3 to the Set mySet. When the value 1 is added a second time, the Set automatically handles it,
1 min read
What is the use of the Values method in JavaScript Sets ?
In JavaScript Sets, the values() method is used to return a new iterator object that contains the values for each element in the Set, in insertion order. The iterator object follows the iterable protocol, allowing you to loop through the values using methods like next(). Syntax:mySet.values()mySet: The Set for which you want to obtain an iterator f
1 min read
JavaScript Program to Merge Two Sets
Given two sets, our task is to Merge Two Sets into a new set so that unique elements will be present in the new set from both sets. Example:Input:set1 = ([1, 2, 3, 4])set2 = ([3, 4, 5, 6])Output:Set(5) { 1, 2, 3,4, 5, 6} Explanation:The unique elements present in set are : 1, 2, 3, 4, 5, 6Below are the approaches to Merge Two Sets using JavaScript:
3 min read
Get the Difference between Two Sets using JavaScript
To get the difference between two sets in JavaScript, you need to identify elements present in the first set but not in the second. This involves iterating over the first set and filtering out elements that are also found in the second set, ensuring efficient comparison. We can get the difference between two sets using Javascript by the following m
2 min read
How to iterate over three paragraphs and sets their color property red in jQuery ?
In this article, we will learn how to iterate over three paragraphs and sets their color property red in jQuery. We have three paragraphs, and we want to iterate on these paragraphs and set their color property to red. Approach: To do that, first, we add a button and on click this button, a function is called which name is fun() and in this functio
1 min read
Practice Tags :
three90RightbarBannerImg