File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -23,15 +23,27 @@ const nFactorial = (n) => {
2323
2424/* Extra Credit */
2525const 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} ;
You can’t perform that action at this time.
0 commit comments