Skip to content

equalsDeep

Recursive structural object equality.

Boolean wrapper around diff \u2014 returns true when the two values are deeply equal according to the same rules. Use this when you only need a yes/no answer; use diff when you also need to know what differs.

For a one-level boolean check use equalsShallow.

Available since v2.0.0

import { equalsDeep } from '@helpers4/object';
equalsDeep(objA: object | null | undefined, objB: object | null | undefined): boolean
ParameterTypeDescription
objAobject | null | undefinedFirst value (object, null, or undefined).
objBobject | null | undefinedSecond value (object, null, or undefined).

boolean — true if both inputs are deeply equal, false otherwise.

Recursive structural equality. Returns true when the two values are deeply equal.

equalsDeep({ a: { b: 1 } }, { a: { b: 1 } })
// => true

Returns false when nested values differ.

equalsDeep({ a: { b: 1 } }, { a: { b: 2 } })
// => false

View source on GitHub