@gvray/eskit
Version:
A rich and colorful toolkit about typescript and javascript.
52 lines • 1.75 kB
TypeScript
/**
* Performs deep equality comparison between two values.
* 执行两个值之间的深度相等比较。
*
* @param value - The first value to compare / 要比较的第一个值
* @param other - The second value to compare / 要比较的第二个值
* @returns True if the values are deeply equal / 如果值深度相等则返回true
*
* @example
* ```typescript
* // Primitive values
* isEqual(1, 1) // true
* isEqual('hello', 'hello') // true
* isEqual(true, true) // true
* isEqual(null, null) // true
* isEqual(undefined, undefined) // true
*
* // Different primitive values
* isEqual(1, 2) // false
* isEqual('hello', 'world') // false
* isEqual(null, undefined) // false
*
* // Arrays
* isEqual([1, 2, 3], [1, 2, 3]) // true
* isEqual(['a', 'b'], ['a', 'b']) // true
* isEqual([1, 2], [1, 2, 3]) // false (different lengths)
* isEqual([1, 2], [2, 1]) // false (different order)
*
* // Nested arrays
* isEqual([[1, 2], [3, 4]], [[1, 2], [3, 4]]) // true
* isEqual([[1, 2], [3, 4]], [[1, 2], [3, 5]]) // false
*
* // Objects
* isEqual({ a: 1, b: 2 }, { a: 1, b: 2 }) // true
* isEqual({ a: 1, b: 2 }, { b: 2, a: 1 }) // true (key order doesn't matter)
* isEqual({ a: 1 }, { a: 1, b: 2 }) // false (different keys)
*
* // Nested objects
* isEqual({ a: { b: { c: 1 } } }, { a: { b: { c: 1 } } }) // true
* isEqual({ a: { b: { c: 1 } } }, { a: { b: { c: 2 } } }) // false
*
* // Mixed structures
* const obj1 = { users: [{ name: 'Alice', age: 25 }], count: 1 }
* const obj2 = { users: [{ name: 'Alice', age: 25 }], count: 1 }
* isEqual(obj1, obj2) // true
* ```
*
* @since 1.0.0
*/
declare const isEqual: (value: any, other: any) => boolean;
export default isEqual;
//# sourceMappingURL=isEqual.d.ts.map