@pkt/utils
Version:
47 lines (46 loc) • 1.08 kB
TypeScript
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;