Skip to content

Commit d0aa9d5

Browse files
committed
examples using ES6 Set class
1 parent 179011b commit d0aa9d5

File tree

2 files changed

+81
-0
lines changed

2 files changed

+81
-0
lines changed

chapter06/04-UsingES6Set.html

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head lang="en">
4+
<meta charset="UTF-8">
5+
<title></title>
6+
</head>
7+
<body>
8+
<script src="04-UsingES6Set.js"></script>
9+
</body>
10+
</html>

chapter06/04-UsingES6Set.js

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
let set = new Set();
2+
3+
set.add(1);
4+
console.log(set.values()); //outputs @Iterator
5+
console.log(set.has(1)); //outputs true
6+
console.log(set.size); //outputs 1
7+
8+
set.add(2);
9+
console.log(set.values()); //outputs [1, 2]
10+
console.log(set.has(2)); //true
11+
console.log(set.size); //2
12+
13+
set.delete(1);
14+
console.log(set.values()); //outputs [2]
15+
16+
set.delete(2);
17+
console.log(set.values()); //outputs []
18+
19+
let setA = new Set();
20+
setA.add(1);
21+
setA.add(2);
22+
setA.add(3);
23+
24+
let setB = new Set();
25+
setB.add(2);
26+
setB.add(3);
27+
setB.add(4);
28+
29+
//--------- Union ----------
30+
let unionAb = new Set();
31+
for (let x of setA) unionAb.add(x);
32+
for (let x of setB) unionAb.add(x);
33+
console.log(unionAb);
34+
35+
//--------- Intersection ----------
36+
let intersection = function(setA, setB){
37+
let intersectionSet = new Set();
38+
39+
for (let x of setA){
40+
if (setB.has(x)){
41+
intersectionSet.add(x);
42+
}
43+
}
44+
45+
return intersectionSet;
46+
};
47+
let intersectionAB = intersection(setA, setB);
48+
console.log(intersectionAB);
49+
50+
//alternative - works on FF only
51+
//intersectionAb = new Set([x for (x of setA) if (setB.has(x))]);
52+
//console.log(intersectionAB);
53+
54+
//--------- Difference ----------
55+
let difference = function(setA, setB){
56+
let intersectionSet = new Set();
57+
58+
for (let x of setA){
59+
if (!setB.has(x)){
60+
intersectionSet.add(x);
61+
}
62+
}
63+
64+
return intersectionSet;
65+
};
66+
let differenceAB = difference(setA, setB);
67+
console.log(differenceAB);
68+
69+
//alternative - works on FF only
70+
//differenceAB = new Set([x for (x of setA) if (!setB.has(x))]);
71+
//console.log(differenceAB);

0 commit comments

Comments
 (0)