Встречается на собеседованиях • сегодня

Как сравнить два объекта в JavaScript

В JavaScript объекты сравниваются по ссылке, а не по содержимому. Даже если два объекта имеют одинаковые свойства и значения, {} === {} вернет false.

Способы сравнения объектов:

  1. Глубокое сравнение с помощью рекурсии или библиотек (Lodash _.isEqual()):
javascript
function deepEqual(obj1, obj2) {
  if (obj1 === obj2) return true;
  // проверка типов, ключей и рекурсивное сравнение значений
}
  1. JSON.stringify() (не учитывает undefined, функции и порядок свойств):
javascript
JSON.stringify(obj1) === JSON.stringify(obj2);
  1. Поверхностное сравнение (только первые уровень свойств):
javascript
Object.keys(obj1).every(key => obj1[key] === obj2[key]);

Для сложных структур лучше использовать готовые решения типа Lodash.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы