Skip to content

Commit 275ed76

Browse files
committed
update Set values() and valuesLegacy() to return items values instead of items keys
1 parent 5761b02 commit 275ed76

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

chapter06/01-Set.js

+13-7
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ function Set() {
4949
*/
5050
this.sizeLegacy = function(){
5151
var count = 0;
52-
for(var prop in items) {
53-
if(items.hasOwnProperty(prop))
52+
for(var key in items) {
53+
if(items.hasOwnProperty(key))
5454
++count;
5555
}
5656
return count;
@@ -62,15 +62,21 @@ function Set() {
6262
* @returns {Array}
6363
*/
6464
this.values = function(){
65-
return Object.keys(items);
65+
var values = [];
66+
for (var i=0, keys=Object.keys(items); i<keys.length; i++) {
67+
values.push(items[keys[i]]);
68+
}
69+
return values;
6670
};
6771

6872
this.valuesLegacy = function(){
69-
var keys = [];
70-
for(var key in items){
71-
keys.push(key);
73+
var values = [];
74+
for(var key in items) {
75+
if(items.hasOwnProperty(key)) {
76+
values.push(items[key]);
77+
}
7278
}
73-
return keys;
79+
return values;
7480
};
7581

7682
this.getItems = function(){

chapter06/02-UsingSets.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
var set = new Set();
22

33
set.add(1);
4-
console.log(set.values()); //outputs ["1"]
4+
console.log(set.values()); //outputs [1]
55
console.log(set.has(1)); //outputs true
66
console.log(set.size()); //outputs 1
77

88
set.add(2);
9-
console.log(set.values()); //outputs ["1", "2"]
9+
console.log(set.values()); //outputs [1, 2]
1010
console.log(set.has(2)); //true
1111
console.log(set.size()); //2
1212
console.log(set.sizeLegacy()); //3
1313

1414
set.remove(1);
15-
console.log(set.values()); //outputs ["2"]
15+
console.log(set.values()); //outputs [2]
1616

1717
set.remove(2);
1818
console.log(set.values()); //outputs []

0 commit comments

Comments
 (0)