2018-10-12 15:37:13 -04:00
|
|
|
---
|
|
|
|
title: Create a Set Class
|
|
|
|
---
|
|
|
|
## Create a Set Class
|
|
|
|
|
2018-11-25 23:26:33 +05:30
|
|
|
### Method:
|
|
|
|
- A Set is an abstract data structure.
|
|
|
|
- It can store unique value and the collection is unordered.
|
|
|
|
- In this challenge, we have to implement `.add()` method. This method should only add unique values to `collection`.
|
|
|
|
- The method should return `true`, if the value is sucessfully added to the collection, otherwise it should return `false`.
|
2018-10-12 15:37:13 -04:00
|
|
|
|
2018-11-25 23:26:33 +05:30
|
|
|
### Solution:
|
|
|
|
```js
|
|
|
|
function Set() {
|
|
|
|
// the var collection will hold our set
|
|
|
|
var collection = [];
|
|
|
|
// this method will check for the presence of an element and return true or false
|
|
|
|
this.has = function(element) {
|
|
|
|
return (collection.indexOf(element) !== -1);
|
|
|
|
};
|
|
|
|
// this method will return all the values in the set
|
|
|
|
this.values = function() {
|
|
|
|
return collection;
|
|
|
|
};
|
|
|
|
this.add = function(el) {
|
|
|
|
return this.has(el) ? false : Boolean(collection.push(el));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
2018-10-12 15:37:13 -04:00
|
|
|
|
2018-11-25 23:26:33 +05:30
|
|
|
### Resources:
|
|
|
|
- [Wikipedia](https://en.wikipedia.org/wiki/Set_(abstract_data_type))
|