ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
25 lines (24 loc) • 1.23 kB
TypeScript
type Customizer = (objValue: any, othValue: any, key?: number | string | symbol, object?: any, other?: any, valueStack?: any[], otherStack?: any[]) => void | boolean;
/**
*
* 深度比较两个值是否相等。
*
* 支持比较 `boolean` `number` `string` `symbol` `array` `array buffer` `date` `error` `map` `object` `regexp` `set` `typed array` 类型。对象只比较自身的属性,不包括继承和不可枚举的属性。
*
* 如果 `strictCheck=true`, 以下值不相等:
*
* 1. `0` `-0`
* 2. `typeof` 不同类型,如 `1` `Object(1)`
* 3. 无效日期对象,如 `new Date('')` `new Date('abc')`
*
* @private
* @param {*} value 要比较的值。
* @param {*} other 另一个要比较的值。
* @param {Function} [customizer] 自定义比较。
* @param {boolean} [strictCheck=false] 严格比较。默认 `false`。
* @param {Array} [valueStack] 值的堆栈。
* @param {Array} [otherStack] 另一个值的堆栈。
* @returns {boolean} 如果两个值相等,返回 `true`,否则返回 `false`。
*/
declare function isEqualDeep(value: any, other: any, customizer?: Customizer, strictCheck?: boolean, valueStack?: any[], otherStack?: any[]): boolean;
export default isEqualDeep;