Skip to content

Commit b6120ed

Browse files
committed
Jessica Thomas - HW2 Finished
1 parent 5b2a3b1 commit b6120ed

1 file changed

Lines changed: 21 additions & 9 deletions

File tree

src/recursion.js

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,27 @@ const nFactorial = (n) => {
2323

2424
/* Extra Credit */
2525
const checkMatchingLeaves = (obj) => {
26-
const keyRing = obj.keys();
27-
for (int i = 0; i < keyRing; i++ ){
28-
if (typeof keyRing[i] === 'object') {
29-
checkMatchingLeaves(keyRing[i]);
30-
} else {
31-
if(){}
32-
}
33-
}
34-
return true;
26+
let val;
27+
let flag = true;
28+
const traverseTree = (tree) => {
29+
Object.keys(tree).forEach((key) => {
30+
if (typeof key !== 'object' && val === undefined) {
31+
val = tree[key];
32+
return undefined;
33+
}
34+
if (typeof tree[key] === 'object') {
35+
return traverseTree(tree[key]);
36+
}
37+
if (tree[key] !== val) {
38+
flag = false;
39+
return undefined;
40+
}
41+
return undefined;
42+
});
43+
return flag;
44+
};
45+
return traverseTree(obj);
46+
3547
// return true if every property on `obj` is the same
3648
// otherwise return false
3749
};

0 commit comments

Comments
 (0)