Skip to Content
ObjectisEqual

isEqual

Compares two values of primitives, Object, Array, Map, Set, Date, RegExp, and Function deeply for equality.

Import

import { isEqual } from "@fullstacksjs/toolbox";

Signature

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

Examples

// Primitive types console.log(isEqual("abc", "abc")); // true console.log(isEqual(1, 1)); // true console.log(isEqual(null, null)); // true // Deep object comparison const obj = { a: { b: { c: 1 } } }; const clonedObj = clone(obj); console.log(isEqual(obj, clonedObj)); // true // Deep array comparison const array = [1, 2, [3, [4, 5, [6, 7]]]]; const clonedArray = clone(array); console.log(isEqual(array, clonedArray)); // true // Date comparison const date1 = new Date("2026-01-01"); const date2 = new Date("2026-01-01"); console.log(isEqual(date1, date2)); // true // RegExp comparison const regex1 = new RegExp("abc", "g"); const regex2 = new RegExp("abc", "g"); console.log(isEqual(regex1, regex2)); // true // Map comparison const map = new Map([ ["a", 1], ["b", { c: [1, 2] }], ]); const clonedMap = clone(map); console.log(isEqual(map, clonedMap)); // true // Set comparison const set = new Set([1, 2, "a"]); const clonedSet = clone(set); console.log(isEqual(set, clonedSet)); // true
Last updated on