Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

What is a set in JavaScript

Understanding Sets in JavaScript

Think of a group of friends hanging out. Everyone in the group is unique, and no matter how many times a friend joins the group, they're still the same person. This concept, in the world of JavaScript, is what we call a Set.

A Set in JavaScript is a built-in object that stores multiple values in a single variable, much like an array. However, unlike an array, a Set only stores unique values. This means that even if you try to add a value that already exists in the Set, the Set will not include that value a second time.

Let's give you a visual:

let mySet = new Set();

mySet.add('John');
mySet.add('Jane');
mySet.add('John');

console.log(mySet);

When you run this code, your console will show Set(2) { 'John', 'Jane' }. Even though we tried to add 'John' twice, the Set only kept one 'John'.

Creating a Set

In JavaScript, creating a Set is simple. It's like creating a new friend group. You just use the new keyword, followed by Set():

let mySet = new Set();

You can also create a Set with initial values by passing an array to the Set constructor:

let mySet = new Set(['John', 'Jane', 'Jack']);

Adding and Removing Values

Adding to a Set is like inviting a new friend to the group. You just use the .add() method and pass the value you want to add:

mySet.add('Jill');

Removing a friend, or in this case, a value from a Set, is also straightforward. You use the .delete() method:

mySet.delete('John');

Checking if a Value Exists

Sometimes, you might want to check if a friend is in the group. In JavaScript, you can use the .has() method to check if a Set contains a certain value:

if (mySet.has('Jane')) {
  console.log('Jane is in the Set!');
} else {
  console.log('Jane is not in the Set.');
}

Size of a Set

To find out how many friends are in the group, or to determine the size of a Set, use the .size property:

console.log(mySet.size);

Iterating Through a Set

Just as you can greet each friend in the group one by one, you can also go through each value in a Set one by one. To do this, you can use the for...of loop:

for (let friend of mySet) {
  console.log(friend);
}

Conclusion

Just like a group of friends, a Set in JavaScript is a gathering of unique values. It's a handy tool when you want to keep track of items, but only care about whether an item is there or not, not how many times it's there. It's like a party where everyone is invited, but no one is allowed to bring a twin.

In the world of JavaScript, Set is like the bouncer of a club, ensuring no duplicate values get in. It's a unique data structure that provides us with certain advantages over traditional arrays when it comes to performance and ease of use. So next time you find yourself needing a collection of unique elements, consider reaching for a Set. It might just be the data structure you're looking for.

Remember, coding is like a journey. Along the way, you'll encounter many concepts, like Set, that may seem strange or difficult at first. But with patience and practice, they will become friends that help you write better, more efficient code. Happy coding!