Skip to content

函数: deepEqual()

ts
function deepEqual(a, b): boolean;

定义于: object.ts:56

深比较两个值在结构上是否相等。

递归对比,支持普通对象、数组、DateRegExpMapSet; 基本值以 Object.is 判定(故 NaN 等于 NaN+0 不等于 -0), 构造函数不同的值直接判为不等(如数组 vs 普通对象)。

参数

参数类型描述
aany待比较的值 A
bany待比较的值 B

返回值

boolean

结构相等返回 true,否则返回 false

示例

ts
deepEqual({ a: 1, b: [1, 2] }, { a: 1, b: [1, 2] }) // => true
deepEqual([1, { x: 1 }], [1, { x: 2 }])             // => false
deepEqual(Number.NaN, Number.NaN)                   // => true

参见

deepClone 深拷贝,与本函数同属结构递归工具