# The Set Object

While practicing my algorithms and data structures, I came across a standard built in object for Javascript. The “Set” object. This handy guy lets you store unique values of any type in a collection of values! Its super handy when you are doing algorithms that want you to determine non-repeating or unique strings, etc.

I would start of by doing something like the following: const set = new Set();

Set has 4 Instance methods.

Set.add(value) : Appends `value` to the `Set` object. Returns the `Set` object with added value.

Set.has(value) : Returns a boolean asserting whether an element is present with the given value in the `Set` object or not.

Set.delete(value) : Removes the element associated to the `value` and returns a boolean asserting whether an element was successfully removed or not. `Set.prototype.has(value)` will return `false` afterwards.

Set.clear() : Removes all elements from the `Set` object.

Set has 1 instance property.

Set.size : Returns the number of values in the `Set` object.

With this basic knowledge you can solve leetcodes medium difficulty problem ?Longest Substring Without Repeating Characters”.

The question is as follows: Given a string `s`, find the length of the longest substring without repeating characters.

I solved it with the following code

`var lengthOfLongestSubstring = function(s) {    const set = new Set();    //Create a set    let longest = 0;    let i = 0;    let j = 0;    // The goal is to use pointers i and j to find the longest range of [i, j]. When s[i, j] has a duplicate letter, we remove s[i] from the set and move i to the next position so we don't include s[prev i] in the next range calculation.         while (i < s.length && j < s.length) {        if (!set.has(s[j])) {           //if set does not include the value of s at index j             set.add(s[j]);           // add the value of s at index j to the set           longest = Math.max(longest, j - i + 1);            j += 1;        } else {            set.delete(s[i]);            i += 1;        }    }    return longest;};`

Please check out MDN Source for a lot of examples and further information: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set

--

--

## More from SunJet Liu

Love podcasts or audiobooks? Learn on the go with our new app.