JSFiddle - React, Tailwind, and code Playground

by Mike Rispoli

JavaScript

// Your code here.
// deep equal exercise eloquent js
function deepEqual(valueOne, valueTwo) {
  var typeOne = typeof valueOne;
  var typeTwo = typeof valueTwo;
  
  if (typeOne && typeTwo == "object" && valueOne && valueTwo != null) {
    var propOne = 0,
        propTwo = 0;
    
    for (var prop in valueOne) {
     propOne += 1; 
    }
    
    for (var prop in valueTwo) {
     propTwo += 1;
      if (!(prop in valueOne) || !deepEqual(valueOne[prop], valueTwo[prop])) 
          return false;
    }
    return propOne == propTwo;
    
  } else if (valueOne === valueTwo) {
     return true;	 
  } else {
     return false; 
  }
}


var obj = {here: {is: "an"}, object: 2};
console.log(deepEqual(obj, obj));
// → true
console.log(deepEqual(obj, {here: 1, object: 2}));
// → false
console.log(deepEqual(obj, {here: {is: "an"}, object: 2}));
// → true
console.log(deepEqual(2,2));
console.log(deepEqual(2,"2"));