Before we try and understand how to use sets and maps in real-world applications, it is more meaningful to understand the origin of sets and maps and why we need them in JavaScript in the first place.
Traditional arrays, until ES5, did not support a few major features, that developers usually want to leverage:
- Acknowledging that it contains a particular element
- Adding new elements without having duplicates
This led to developers implementing their own versions of sets and maps, which were available in other programming languages. A common implementation of a set and map using JavaScript's Object is as follows:
// create an empty object
var setOrMap = Object.create(null);
// assign a key and value
setOrMap.someKey = someValue;
// if used as a set, check for existence
if(setOrMap.someKey) {
// set has someKey
}
// if used as a...