[Guide] Data Structures: Create a Set Class (#34434)
* feat: added solution * fix: solution * fix: changed expression to be be more readable * fix: formatting
This commit is contained in:
		
				
					committed by
					
						
						Christopher McCormack
					
				
			
			
				
	
			
			
			
						parent
						
							9fb1d9f49c
						
					
				
				
					commit
					c3155c4f5b
				
			@@ -3,8 +3,30 @@ title: Create a Set Class
 | 
			
		||||
---
 | 
			
		||||
## Create a Set Class
 | 
			
		||||
 | 
			
		||||
This is a stub. <a href='https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/coding-interview-prep/data-structures/create-a-set-class/index.md' target='_blank' rel='nofollow'>Help our community expand it</a>.
 | 
			
		||||
### 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`.
 | 
			
		||||
 | 
			
		||||
<a href='https://github.com/freecodecamp/guides/blob/master/README.md' target='_blank' rel='nofollow'>This quick style guide will help ensure your pull request gets accepted</a>.
 | 
			
		||||
### 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));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
<!-- The article goes here, in GitHub-flavored Markdown. Feel free to add YouTube videos, images, and CodePen/JSBin embeds  -->
 | 
			
		||||
### Resources:
 | 
			
		||||
- [Wikipedia](https://en.wikipedia.org/wiki/Set_(abstract_data_type))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user