Function

isEqual

@ng-forge/dynamic-forms

Performs a deep equality comparison between two values.

Handles: - Primitives (including NaN via Object.is) - Dates (by timestamp) - Arrays (deep element comparison) - Plain objects (deep property comparison) - RegExp (by source and flags) - Map and Set (by entries) - Circular references (via WeakMap tracking)

Signature

function isEqual(
  a: unknown,
  b: unknown
): boolean

Parameters

NameTypeDescription
aunknown- First value
bunknown- Second value

Returns

boolean

Examples

isEqual({ a: 1 }, { a: 1 }); // true
isEqual([1, 2], [1, 2]); // true
isEqual({ a: 1 }, { a: 2 }); // false
isEqual(new Date('2024-01-01'), new Date('2024-01-01')); // true
isEqual(/abc/gi, /abc/gi); // true