Skip to content

Value Functions

This page contains utility functions for working with and comparing values.

isEmpty

Checks if value is an empty object, collection, map, or set.

// Check objects
isEmpty({}); // true
isEmpty({ a: 1 }); // false
// Check arrays
isEmpty([]); // true
isEmpty([1, 2, 3]); // false
// Check strings
isEmpty(''); // true
isEmpty('hello'); // false
// Check maps
isEmpty(new Map()); // true
isEmpty(new Map([['key', 'value']])); // false
// Check sets
isEmpty(new Set()); // true
isEmpty(new Set([1, 2, 3])); // false
// Check other values
isEmpty(null); // true
isEmpty(undefined); // true
isEmpty(0); // false (not considered empty)
isEmpty(true); // false (not considered empty)

isEqual

Performs a deep comparison between two values to determine if they are equivalent.

// Compare simple values
isEqual(1, 1); // true
isEqual('a', 'a'); // true
isEqual(true, true); // true
// Compare arrays
isEqual([1, 2, 3], [1, 2, 3]); // true
isEqual([1, 2, 3], [1, 2, 4]); // false
// Compare objects
isEqual({ a: 1, b: 2 }, { a: 1, b: 2 }); // true
isEqual({ a: 1, b: 2 }, { b: 2, a: 1 }); // true (order doesn't matter)
isEqual({ a: 1, b: 2 }, { a: 1, b: 3 }); // false
// Compare dates
const date1 = new Date(2023, 1, 1);
const date2 = new Date(2023, 1, 1);
isEqual(date1, date2); // true
// Compare maps
const map1 = new Map([['a', 1], ['b', 2]]);
const map2 = new Map([['a', 1], ['b', 2]]);
isEqual(map1, map2); // true
// Compare sets
const set1 = new Set([1, 2, 3]);
const set2 = new Set([1, 2, 3]);
isEqual(set1, set2); // true