/
Вопросы и ответы
/
JavaScript
/

как сравнить объекты js

как сравнить объекты js

3 года назад

Nikolai Gagarinov

Ответы

2

Поскольку объекты в JavaScript являются ссылочными типами данных, то при использовании как нестрогого равенства == , так и строгого равенства ===, сравниваются только ссылки на объекты, а не их содержимое.

Мы можем написать свою функцию для сравнения свойств объекта, но проще и удобнее воспользоваться готовыми инструментами, например, Lodash. Эта библиотека предоставляет множество утилит для работы с объектами, в том числе для сравнения объектов.

Для сравнения объектов с помощью Lodash следует использовать функцию isEqual(). Эта функция позволяет сравнивать два значения и возвращает true, если они равны, и false в противном случае. Пример:

const _ = require('lodash');

const obj1 = { a: 1, b: 2 };
const obj2 = { a: 1, b: 2 };
const obj3 = { a: 1, b: 3 };

console.log(_.isEqual(obj1, obj2)); // true
console.log(_.isEqual(obj1, obj3)); // false

Здесь мы использовали функцию isEqual() из библиотеки Lodash для сравнения объектов obj1 и obj2. Функция вернула true, потому что объекты содержат одинаковые свойства с одинаковыми значениями. Затем мы сравнили объекты obj1 и obj3, и функция вернула false, т.к. они содержат разные значения свойства b.

3 года назад

Aleksey

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845