как сравнить объекты js
2 года назад
Nikolai Gagarinov
Ответы
Поскольку объекты в JavaScript являются ссылочными типами данных, то при использовании как нестрогого равенства ==
, так и строгого равенства ===
, сравниваются только ссылки на объекты, а не их содержимое.
Мы можем написать свою функцию для сравнения свойств объекта, но проще и удобнее воспользоваться готовыми инструментами, например, Lodash. Эта библиотека предоставляет множество утилит для работы с объектами, в том числе для сравнения объектов.
Для сравнения объектов с помощью Lodash следует использовать функцию isEqual()
. Эта функция позволяет сравнивать два значения и возвращает true
, если они равны, и false
в противном случае. Пример:
Здесь мы использовали функцию isEqual()
из библиотеки Lodash для сравнения объектов obj1
и obj2
. Функция вернула true
, потому что объекты содержат одинаковые свойства с одинаковыми значениями. Затем мы сравнили объекты obj1
и obj3
, и функция вернула false
, т.к. они содержат разные значения свойства b
.
2 года назад
Aleksey