equals
compare values of any type for equility
Installation
With your favorite package manager:
then in your app:
var equal = require('equals')API
equal(a, b, [memos])
equal takes as many arguments as you like of any type you like and returns a boolean result. Primitive types are equal if they are ===. While composite types, i.e. Objects and Arrays, are considered equal if they have both the same structure and each sub-value is also equal. Circular references in composite structures are supported.
Same structure:
equal(
  { a : [ 2, 3 ], b : [ 4 ] },
  { a : [ 2, 3 ], b : [ 4 ] }
) // => trueDifferent Structure:
equal(
  { x : 5, y : [6] },
  { x : 5}
) // => falseSame structure, different values:
equal(
  { a: [ 1, 2 ], b : [ 4 ]},
  { a: [ 2, 3 ], b : [ 4 ]}
) // => falsePrimitives:
equal(new Date(0), new Date(1)) // => falseSome possible gotchas:
nullis not equal toundefined.NaNis equal toNaN(normally not the case).-0is equal to+0.- Strings will not coerce to numbers.
 - Non enumerable properties will not be checked. They can't be.
 arguments.calleeis not considered when comparing arguments