Page 1 of 1

JavaScript Sets

Posted: Fri Oct 27, 2023 9:07 am
by Guest
JavaScript Sets


A JavaScript Set is a collection of unique values.
Each value can only occur once in a Set.
A Set can hold any value of any data type.

Set Methods

MethodDescription
new Set()Creates a new Set
add()Adds a new element to the Set
delete()Removes an element from a Set
has()Returns true if a value exists
clear()Removes all elements from a Set
forEach()Invokes a callback for each element
values()Returns an Iterator with all the values in a Set
keys()Same as values()
entries()Returns an Iterator with the [value,value] pairs from a Set


PropertyDescription
sizeReturns the number elements in a Set


How to Create a Set
You can create a JavaScript Set by:

Passing an Array to new Set()
Create a new Set and use add() to add values
Create a new Set and use add() to add variables


The new Set() Method
Pass an Array to the new Set() constructor:

Example

// Create a Set
const letters = new Set(["a","b","c"]);

Try it Yourself »

Create a Set and add literal values:

Example

// Create a Set
const letters = new Set();

// Add Values to the Set
letters.add("a");
letters.add("b");
letters.add("c");

Try it Yourself »

Create a Set and add variables:

Example

// Create Variables
const a = "a";
const b = "b";
const c = "c";

// Create a Set
const letters = new Set();

// Add Variables to the Set
letters.add(a);
letters.add(b);
letters.add(c);

Try it Yourself »


The add() Method

Example

letters.add("d");
letters.add("e");

Try it Yourself »

If you add equal elements, only the first will be saved:

Example

letters.add("a");
letters.add("b");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");

Try it Yourself »








The forEach() Method
The forEach() method invokes a function for each Set element:

Example

// Create a Set
const letters = new Set(["a","b","c"]);

// List all entries
let text = "";
letters.forEach (function(value) {
  text += value;
})

Try it Yourself »


The values() Method
The values() method returns an Iterator object containing all the values in a Set:

Example

letters.values()   // Returns [object Set Iterator]

Try it Yourself »

Now you can use the Iterator object to access the elements:

Example

// Create an Iterator
const myIterator = letters.values();

// List all Values
let text = "";
for (const entry of myIterator) {
  text += entry;
}

Try it Yourself »


The keys() Method

A Set has no keys.
keys() returns the same as
values().
This makes Sets compatible with Maps.


Example

letters.keys()   // Returns [object Set Iterator]

Try it Yourself »


The entries() Method

A Set has no keys.
entries() returns [value,value] pairs
instead of [key,value] pairs.
This makes Sets compatible with Maps:


Example

// Create an Iterator
const myIterator = letters.entries();

// List all Entries
let text = "";
for (const entry of myIterator) {
  text += entry;
}

Try it Yourself »


Sets are Objects

For a Set, typeof returns object:

typeof letters;      // Returns object

Try it Yourself »
For a Set, instanceof Set returns true:

letters instanceof Set;  // Returns true

Try it Yourself »














+1

Reference: https://www.w3schools.com/js/js_object_sets.asp