javascript intermediate Ends 2026-11-17

Deep equality

Write deepEqual(a, b) that compares two values by content, the way test libraries do.

  • Primitives compare with ===, except that NaN equals NaN.
  • Arrays are equal when they have the same length and equal items in order.
  • Plain objects are equal when they have the same keys and equal values (key order does not matter).
  • Dates are equal when they hold the same time.

Acceptance criteria

  • deepEqual([1, 2], { 0: 1, 1: 2 }) is false (an array is not an object).
  • The tests at the bottom print All tests passed.

Solved by 0 people so far.

javascript
EditorCtrl + Enter

            
        

When the tests print "All tests passed", the challenge is marked solved in this browser.

Submit your solution for review