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

Как правильно сравнивать объекты

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

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

  1. JSON.stringify() – преобразует объект в строку для сравнения:
javascript
const obj1 = { a: 1 };
const obj2 = { a: 1 };
console.log(JSON.stringify(obj1) === JSON.stringify(obj2)); // true

Недостаток: не учитывает порядок свойств и не работает с функциями/Symbol.

  1. Рекурсивное сравнение – проверка каждого свойства:
javascript
function deepEqual(a, b) {
  if (a === b) return true;
  if (typeof a !== 'object' || a === null || typeof b !== 'object' || b === null) return false;
  // ...рекурсивная проверка свойств
}
  1. Lodash.isEqual() – готовая библиотечная функция:
javascript
_.isEqual(obj1, obj2); // true/false

Для простых случаев можно использовать Object.keys() и поочередное сравнение значений.

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

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

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

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