2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								id: 587d8254367417b2b2512c6e
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								title: Perform a Difference on Two Sets of Data
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								challengeType: 1
							 
						 
					
						
							
								
									
										
										
										
											2019-08-05 09:17:33 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								forumTopicId: 301706
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 03:31:00 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								dashedName: perform-a-difference-on-two-sets-of-data
							 
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# --description--
  
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								In this exercise we are going to perform a difference on 2 sets of data. We will create a method on our `Set`  data structure called `difference` . A difference of sets should compare two sets and return the items present in the first set that are absent in the second. This method should take another `Set`  as an argument and return the `difference`  of the two sets.
							 
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								For example, if `setA = ['a','b','c']`  and `setB = ['a','b','d','e']` , then the difference of setA and setB is: `setA.difference(setB) = ['c']` .
							 
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# --hints--
  
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Your `Set`  class should have a `difference`  method.
							 
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								assert(
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  (function () {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    var test = new Set();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return typeof test.difference === 'function';
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  })()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								);
							 
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Your `difference`  method should return the proper collection.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								assert(
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  (function () {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    var setA = new Set();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    var setB = new Set();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    setA.add('a');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    setA.add('b');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    setA.add('c');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    setB.add('c');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    setB.add('d');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    var differenceSetAB = setA.difference(setB);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return (
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      differenceSetAB.size() === 2 & & 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      DeepEqual(differenceSetAB.values(), ['a', 'b'])
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    );
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  })()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# --seed--
  
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## --seed-contents--
  
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2020-04-22 13:44:50 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class Set {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  constructor() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // This will hold the set
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    this.dictionary = {};
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    this.length = 0;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
									
										
										
										
											2020-09-15 12:31:21 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  // This method will check for the presence of an element and return true or false
							 
						 
					
						
							
								
									
										
										
										
											2020-04-22 13:44:50 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  has(element) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return this.dictionary[element] !== undefined;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
									
										
										
										
											2020-09-15 12:31:21 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  // This method will return all the values in the set
							 
						 
					
						
							
								
									
										
										
										
											2020-04-22 13:44:50 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  values() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return Object.keys(this.dictionary);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
									
										
										
										
											2020-09-15 12:31:21 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  // This method will add an element to the set
							 
						 
					
						
							
								
									
										
										
										
											2020-04-22 13:44:50 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  add(element) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if (!this.has(element)) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      this.dictionary[element] = true;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      this.length++;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return true;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return false;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
									
										
										
										
											2020-09-15 12:31:21 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  // This method will remove an element from a set
							 
						 
					
						
							
								
									
										
										
										
											2020-04-22 13:44:50 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  remove(element) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if (this.has(element)) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      delete this.dictionary[element];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      this.length--;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return true;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return false;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
									
										
										
										
											2020-09-15 12:31:21 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  // This method will return the size of the set
							 
						 
					
						
							
								
									
										
										
										
											2020-04-22 13:44:50 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  size() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return this.length;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
									
										
										
										
											2020-09-15 12:31:21 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  // This is our union method 
							 
						 
					
						
							
								
									
										
										
										
											2020-04-22 13:44:50 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  union(set) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const newSet = new Set();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    this.values().forEach(value => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      newSet.add(value);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    })
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set.values().forEach(value => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      newSet.add(value);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    })
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return newSet;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
									
										
										
										
											2020-09-15 12:31:21 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  // This is our intersection method
							 
						 
					
						
							
								
									
										
										
										
											2020-04-22 13:44:50 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  intersection(set) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const newSet = new Set();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    let largeSet;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    let smallSet;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if (this.dictionary.length > set.length) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      largeSet = this;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      smallSet = set;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } else {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      largeSet = set;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      smallSet = this;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    smallSet.values().forEach(value => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if (largeSet.dictionary[value]) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        newSet.add(value);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    })
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return newSet;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
									
										
										
										
											2020-09-15 12:31:21 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  // Only change code below this line
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  // Only change code above this line
							 
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# --solutions--
  
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2020-04-22 13:44:50 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class Set {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  constructor() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    this.dictionary = {};
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    this.length = 0;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  has(element) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return this.dictionary[element] !== undefined;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  values() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return Object.keys(this.dictionary);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  add(element) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if (!this.has(element)) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      this.dictionary[element] = true;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      this.length++;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return true;
							 
						 
					
						
							
								
									
										
										
										
											2018-10-26 14:02:50 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
									
										
										
										
											2020-04-22 13:44:50 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return false;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  remove(element) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if (this.has(element)) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      delete this.dictionary[element];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      this.length--;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return true;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return false;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  size() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return this.length;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  union(set) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const newSet = new Set();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    this.values().forEach(value => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      newSet.add(value);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    })
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set.values().forEach(value => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      newSet.add(value);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    })
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return newSet;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  intersection(set) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const newSet = new Set();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    let largeSet;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    let smallSet;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if (this.dictionary.length > set.length) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      largeSet = this;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      smallSet = set;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } else {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      largeSet = set;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      smallSet = this;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    smallSet.values().forEach(value => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if (largeSet.dictionary[value]) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        newSet.add(value);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    })
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return newSet;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  difference(set) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const newSet = new Set();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    this.values().forEach(value => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if (!set.dictionary[value]) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        newSet.add(value);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    })
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return newSet;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
									
										
										
										
											2018-10-26 14:02:50 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
									
										
										
										
											2018-09-30 23:01:58 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								```