Check if multiple objects are equal
Compare JSON serializations with the first object.
function areEqual(objects) { return objects.every(object => JSON.stringify(object) === JSON.stringify(objects[0])); }
Input & expected output
Input
[
{
"a": 1
},
{
"a": 1
},
{
"a": 1
}
]Expected output
trueThe edge case
Input
[
{
"a": 1,
"b": 2
},
{
"b": 2,
"a": 1
}
]Expected output
falseKnow the limits
- Key order matters to JSON.stringify, as the edge case shows; undefined values and functions are dropped. Use a deep-equality library for robust comparison.
The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.
Source & maintenance
Based on Check if multiple objects are equal from the original 1loc collection by Nguyen Huu Phuoc, with tugsanunlu. Copyright (c) 2020 phuoc-ng. MIT licensed.
Takes one array of objects instead of rest arguments. Original MDX retained as inert source evidence.
Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.
Keep exploring
- Pick properties from an object — Build a new object with only the requested own properties.
- Omit properties from an object — Keep the own enumerable fields that are not in a supplied list.
- Create an object from pairs of key and value — Turn [key, value] pairs into a plain object with Object.fromEntries.