Working with the JavaScript Set Built-in

Last modified: 
Thursday, October 19th, 2017
Topics: 
JavascriptES6

Working with the built-in JavaScript Set() object.

The Set object lets you store unique values of any type, whether primitive values or object references.

let out;
let setA = new Set([1, 2, 3, 4, 4, 4, 5]);

// Confirm set contains a member.
out = setA.has(5); // true
console.log(out);

// Remove an item from the set.
setA.delete(5);
out = setA.has(5); // false
console.log(out);

// Sets don't allow duplicates, so all those 4s have been
// reduced to a single element.
out = setA.size; // 4
console.log(out);

// Iterate over set members in for loop.
for (let item of setA) console.log(item); // 1, 2, 3, 4

// Add an item to the set.
out = setA.has(6);
console.log(out); // false
setA.add(6);
console.log(out); // true

// Clear all members from the set.
setA.clear();
for (let item of setA) console.log(item); // no output

// A string argument is handled like an array.
let str = 'This is a string';
setA = new Set(str);
out = setA.has('i'); // true
console.log(out);

out = setA.size; // 10
console.log(out);

for (let item of setA) console.log(item); // "T", "h", "i", "s", " ", "a", "t", "r", "n", "g" 
setA.clear();

let o = {
  a: 'red',
  b: 'blue'
};
setA = new Set([o]);
out = setA.has(o); // true
console.log(out);

let o2 = {
  a: 'red',
  b: 'blue'
};
out = setA.has(o2); // false
console.log(out);

o2 = o; // <- change o2 to a reference of o.
out = setA.has(o2); // true
console.log(out);

JS Bin on jsbin.com


The operator of this site makes no claims, promises, or guarantees of the accuracy, completeness, originality, uniqueness, or even general adequacy of the contents herein and expressly disclaims liability for errors and omissions in the contents of this website.