tgoop.com/frontend_1/3973
Create:
Last Update:
Last Update:
🔥 Быстрое сравнение объектов в JS без глубоких сравнений
Иногда не нужен deep equal, а просто надо понять: два объекта точно одинаковы по содержимому?
Вот простой, но мощный трюк на базе JSON.stringify()
:
const isEqual = (a: object, b: object) =>
JSON.stringify(a) === JSON.stringify(b);
📌 Подходит для:
* Простых объектов без методов и
undefined
;* Сравнения кеша/props в memo;
* Быстрой проверки изменений формы.
⚠️ Не подходит:
* Для вложенных объектов с разным порядком ключей (
{a:1,b:2}
!== {b:2,a:1}
);* Когда есть
Date
, Map
, Set
, функции, undefined
, symbol
.🧠 Альтернатива:
Если важен порядок и типы — используй
lodash.isEqual
.👉 Пример использования:
if (!isEqual(prevForm, currentForm)) {
saveChanges();
}
⚡ Просто. Эффективно. Для 80% кейсов — 🔥
👉 @frontend_1
BY Frontend разработчик
Share with your friend now:
tgoop.com/frontend_1/3973