UNPKG

@gvray/eskit

Version:

A rich and colorful toolkit about typescript and javascript.

52 lines 1.75 kB
/** * 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