Глубокое сравнение объектов

Medium
ObjectRecursionOzon

Реализуйте функцию deepEqual(a, b), которая рекурсивно сравнивает два значения.

  • Примитивы сравниваются через ===
  • Массивы и объекты сравниваются по содержимому рекурсивно
  • null обрабатывается корректно
deepEqual({a: 1, b: {c: 2}}, {a: 1, b: {c: 2}}) // true
deepEqual([1, [2, 3]], [1, [2, 3]])               // true
deepEqual({a: 1}, {a: "1"})                        // false

Примеры

Пример 1
Вход:
deepEqual({a:1}, {a:1})
Выход:
true
Пример 2
Вход:
deepEqual({a:1}, {a:"1"})
Выход:
false
Ваш код - JavaScript
Результаты
Нажмите «Запуск» для выполнения кода