diff --git a/guide/english/certifications/coding-interview-prep/data-structures/remove-from-a-set/index.md b/guide/english/certifications/coding-interview-prep/data-structures/remove-from-a-set/index.md index fc9cbdef35..ce8949b3f8 100644 --- a/guide/english/certifications/coding-interview-prep/data-structures/remove-from-a-set/index.md +++ b/guide/english/certifications/coding-interview-prep/data-structures/remove-from-a-set/index.md @@ -2,36 +2,56 @@ title: Remove from a Set --- ## Remove from a Set +![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ":triangular_flag_on_post:") Remember to use **`Read-Search-Ask`** if you get stuck. Try to pair program ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ":busts_in_silhouette:") and write your own code ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":pencil:") -### Method: -- In this challenge we need to implement a `.remove()` method for the Set class we made in the previous challenge. -- The method should return `true` if the element was successfully removed and `false` otherwise. -### Solution: -```js -function Set() { - var collection = []; - this.has = function(element) { - return (collection.indexOf(element) !== -1); - }; - this.values = function() { - return collection; - }; - this.add = function(element) { - if(!this.has(element)){ - collection.push(element); - return true; +### ![:checkered_flag:](https://forum.freecodecamp.com/images/emoji/emoji_one/checkered_flag.png?v=3 ":checkered_flag:") Problem Explanation: + +To solve this problem, you have to write a function for the class that removes a given element from the array if the array contains the given element. + + +## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ":speech_balloon:") Hint: 1 + + +Use the built-in "has" function already created to test if the element exists in the Set. + +> _try to solve the problem now_ + +## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ":speech_balloon:") Hint: 2 + +Use the splice function to delete an element from an array. + +> _try to solve the problem now_ + + + +## Spoiler Alert! + +![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":warning:") + +**Solution ahead!** + +## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":beginner:") Basic Code Solution: + + this.remove = function(element){ + if(this.has(element)) { + this.values().splice( this.values().indexOf(element), 1 ); } - return false; - }; - this.remove = function(element){ - if (this.has(element)){ - collection.splice(collection.indexOf(element), 1); - return true; - } - return false; } -} -``` -### Resources: -- [Wikipedia](https://en.wikipedia.org/wiki/Set_(abstract_data_type)) +![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":rocket:") Run Code + +### Code Explanation: + +* The if statement checks if the collection contains the element. +* If the if statement evaluates to true, then starting from the index at which the element is located, one element is deleted. +* If the if statement evaluates to false, then nothing occurs. + +## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ":clipboard:") NOTES FOR CONTRIBUTIONS: + +![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":warning:") **DO NOT** add solutions that are similar to any existing solutions. If you think it is **_similar but better_**, then try to merge (or replace) the existing similar solution. + +Add an explanation of your solution. + +Categorize the solution in one of the following categories — **Basic**, **Intermediate** and **Advanced**. ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ":traffic_light:") + +See ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ":point_right:") **`Wiki Challenge Solution Template`** for reference.