Exercise 19: Compare Two Objects (shallow)

Problem Statement

Function `shallowEqual(obj1, obj2)` banao jo dono objects ko shallow compare kare. Example: shallowEqual({a: 1, b: 2}, {a: 1, b: 2}) => true

Sample Output:

shallowEqual({a: 1, b: 2}, {a: 1, b: 2}) => true
shallowEqual({a: 1}, {a: 2}) => false

Solution

const shallowEqual = (obj1, obj2) => {
  const keys1 = Object.keys(obj1), keys2 = Object.keys(obj2);
  if (keys1.length !== keys2.length) return false;
  return keys1.every(key => obj1[key] === obj2[key]);
};

Explanation

Overall Goal:

  • Dono objects ko shallow compare karna.

Real world:

  • Equality checks: object comparison.
  • State comparison: shallow equality.