Set is a collection of unique values, where each value can appear only once. Unlike arrays, Set automatically removes duplicates and allows fast element existence checking.
const set = new Set([1, 2, 2, 3, 3, 4]);
console.log(set); // Set { 1, 2, 3, 4 } (duplicates removed)
console.log(set.size); // 4
console.log(set.has(2)); // trueSet is like a mailbox where each letter can exist in only one copy. If you try to put the same letter again, it just won’t be added! This is convenient when you need to store only unique values! 📮
Main Set features:
// Creating Set
const numberSet = new Set();
// Adding elements
numberSet.add(1);
numberSet.add(2);
numberSet.add(2); // won't be added — duplicate!
console.log(numberSet); // Set { 1, 2 }
console.log(numberSet.size); // 2
// Checking existence
console.log(numberSet.has(1)); // true
console.log(numberSet.has(3)); // false
// Deletion
numberSet.delete(1);
console.log(numberSet.has(1)); // false// Removing duplicates from array
const arrayWithDuplicates = [1, 2, 2, 3, 3, 4];
const uniqueArray = [...new Set(arrayWithDuplicates)];
console.log(uniqueArray); // [1, 2, 3, 4]const set = new Set(['a', 'b', 'c']);
console.log(set.size); // 3 (number of elements)const set = new Set();
// add(value) — adds value
set.add('value');
// has(value) — checks value existence
const exists = set.has('value');
// delete(value) — removes value
set.delete('value');
// clear() — clears entire Set
set.clear();
// size — property, returns element count
console.log(set.size);const set = new Set(['apple', 'banana', 'orange']);
// Iterating values
for (const value of set) {
console.log(value);
}const set = new Set([1, 2, 3]);
set.forEach(value => {
console.log(value);
});// List of unique tags
const tags = new Set();
tags.add('JavaScript');
tags.add('React');
tags.add('JavaScript'); // won't be added
console.log(tags); // Set { 'JavaScript', 'React' }// Fast checking if value exists
const allowedRoles = new Set(['admin', 'moderator', 'user']);
function checkRole(role) {
return allowedRoles.has(role);
}
console.log(checkRole('admin')); // true
console.log(checkRole('guest')); // false// ❌ Error — thinking Set is like array
const set = new Set([1, 2, 3]);
// set[0]; // undefined! Set has no indices
// set.length; // undefined! Set has no length
// ✅ Correctly — use Set methods
console.log(set.size); // 3
console.log(set.has(1)); // true// ❌ Error — forgot new
// const set = Set(); // TypeError!
// ✅ Correctly
const set = new Set();Set is an excellent choice when you need to store only unique values and quickly check their existence! 💪
Want more articles to prepare for interviews? Subscribe to EasyAdvice, bookmark the site and improve yourself every day 💪