How to Compare two Objects in JavaScript
In this, tutorial, we will learn How to Compare two Objects in JavaScript.
Objects are reference types so we can’t just use ===
or ==
to compare 2 objects.
Instead of this, we can use JSON.stringify() as below:
const obj1 = { name: 'john' }; const obj2 = { name: 'john' }; JSON.stringify(obj1) === JSON.stringify(obj2); // true
We can also use the isEqual method of Lodash library as below:
_.isEqual(obj1, obj2); // true
Above both methods also works for nested objects as well, but note that in JSON.stringify()
, the order matters. So if the key-value pair are ordered differently in the two objects but are the same, it will return false. Whereas it doesn't matter in Lodash isEqual
, it will return true as along as the key-value pair exists.
Which one to use?
isEqual is better in performance in comparison to JSON stringify, so better to use isEqual.