平等 
微小的(304B至489B)工具,以检查深度平等
本模块支持所有类型的比较,包括: Function, (中文(简体) ), RegExp, (中文(简体) ), Date, (中文(简体) ), Set, (中文(简体) ), Map, (中文(简体) ), TypedArrays, (中文(简体) ), DataView, (中文(简体) ), null, (中文(简体) ), undefined,以及 NaN 数值。 复杂的值(如对象,阵列,集,映射等)被递归.
重要内容:
- 密钥顺序 在对象内 没关系
- 数值顺序 在阵列内 已经 事项
- 数值 在集和地图中 使用值平等
- 密钥 在地图内 使用值平等
安装
$ npm install --save dequal
模式
有两个"版本": dequal 备注:
dequal
大小( gzip) : 489 字节
可用性 : 常见JS, (中文(简体) ), ES 模块, (中文(简体) ), UMD 图像
dequal/lite
| IE9 + 软件 | 数目 | 字符串 | 日期 | 正则Exp | 对象 | 阵列 | 类 | 设定 | 地图 | 矩阵缓冲 | 已键入阵列 | 数据查看 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
dequal | : x : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : |
dequal/lite | :+1 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : 白色 检查 标记 : | : x : | : x : | : x : | : x : | : x : |
说明: 桌子横向滚动!
使用量
import { dequal } from 'dequal';
dequal(1, 1); //=> true
dequal({}, {}); //=> true
dequal('foo', 'foo'); //=> true
dequal([1, 2, 3], [1, 2, 3]); //=> true
dequal(dequal, dequal); //=> true
dequal(/foo/, /foo/); //=> true
dequal(null, null); //=> true
dequal(NaN, NaN); //=> true
dequal([], []); //=> true
dequal(
[{ a:1 }, [{ b:{ c:[1] } }]],
[{ a:1 }, [{ b:{ c:[1] } }]]
); //=> true
dequal(1, '1'); //=> false
dequal(null, undefined); //=> false
dequal({ a:1, b:[2,3] }, { a:1, b:[2,5] }); //=> false
dequal(/foo/i, /bar/g); //=> false
API 密码
d等 (foo, 栏)
回返情况: Boolean
两者 foo 财务报告和审定财务报表 bar 可以是任何类型的.
A 类 Boolean 返回时表示两者是否完全平等.
基准
运行节点 v10.13.0
这些基准可见于 /bench 目录。 它们分为两类:
basic- 比较由下列物体构成的物体:String, (中文(简体) ),Number, (中文(简体) ),Date, (中文(简体) ),Array,以及Object数值.complex- 喜欢basic,但添加RegExp, (中文(简体) ),Map, (中文(简体) ),Set,以及Uint8Array数值.
说明: 只列出通过验证步骤的候选人.
譬如说,fast-deep-equal/es6手柄Set财务报告和审定财务报表Map数值,但使用 优惠平等 在列出的用途中 价值平等。 。 。 .
Load times:
assert 0.109ms
util 0.006ms
fast-deep-equal 0.479ms
lodash/isequal 22.826ms
nano-equal 0.417ms
dequal 0.396ms
dequal/lite 0.264ms
Benchmark :: basic
assert.deepStrictEqual x 325,262 ops/sec ±0.57% (94 runs sampled)
util.isDeepStrictEqual x 318,812 ops/sec ±0.87% (94 runs sampled)
fast-deep-equal x 1,332,393 ops/sec ±0.36% (93 runs sampled)
lodash.isEqual x 269,129 ops/sec ±0.59% (95 runs sampled)
nano-equal x 1,122,053 ops/sec ±0.36% (96 runs sampled)
dequal/lite x 1,700,972 ops/sec ±0.31% (94 runs sampled)
dequal x 1,698,972 ops/sec ±0.63% (97 runs sampled)
Benchmark :: complex
assert.deepStrictEqual x 124,518 ops/sec ±0.64% (96 runs sampled)
util.isDeepStrictEqual x 125,113 ops/sec ±0.24% (96 runs sampled)
lodash.isEqual x 58,677 ops/sec ±0.49% (96 runs sampled)
dequal x 345,386 ops/sec ±0.27% (96 runs sampled)
许可证
麻省理工学院 卢克·爱德华兹