UNPKG

@pkt/utils

Version:

47 lines (46 loc) 1.08 kB
import type { SafeAny } from '@pkt/utils/types'; /** * * 比较 * * @description * primitives: value1 === value * * functions: value1.toString == value2.toString * * arrays: if length, sequence and values of properties are identical * * objects: if length, names and values of properties are identical * * @example * compare([[1, [2, 3]], [[1, [2, 3]]);=> true * * compare([[1, [2, 3], 4], [[1, [2, 3]]);=> false * * compare({a: 2, b: 3}, {a: 2, b: 3});=> true * * compare({a: 2, b: 3}, {b: 3, a: 2});=> true * * compare({a: 2, b: 3, c: 4}, {a: 2, b: 3});=> false * * compare({a: 2, b: 3}, {a: 2, b: 3, c: 4});=> false * * compare([[1, [2, {a: 4}], 4], [[1, [2, {a: 4}]]);=> true * * @returns boolean */ export declare function compare(value1: SafeAny, value2: SafeAny): boolean; /** * * 比较数组 * * @returns boolean */ export declare function compareArrays(value1: Array<SafeAny>, value2: Array<SafeAny>): boolean; /** * * 比较Obj * * @returns boolean */ export declare function compareObjects(value1: SafeAny, value2: SafeAny): boolean;