fast-deep-equal

中文文档
3.1.3发布于 2020/06/08MITTypeScriptCommonJS零依赖近 30 天下载 8.8亿

快深等号

中文使用文档
文档目录7 节
  1. 安装
  2. 特性
  3. 用法
  4. 性能基准测试
  5. 企业支持
  6. 安全联系
  7. 许可证

fast-deep-equal

最快的深度相等与ES6 Map, Set和类型化数组的支持。

Build Status npm Coverage Status

安装

npm install fast-deep-equal

特性

  • ES5兼容
  • 在node.js(8+)和浏览器(IE9+)下工作
  • 按值检查Date和RegExp对象是否相等。

ES6 = (require('fast-deep-equal/es6'))还支持:

  • 地图
  • 集
  • 类型的数组

用法

var equal = require('fast-deep-equal');
console.log(equal({foo: 'bar'}, {foo: 'bar'})); // true

要支持ES6 map、set和类型化数组相等,请使用:

var equal = require('fast-deep-equal/es6');
console.log(equal(Int16Array([1, 2]), Int16Array([1, 2]))); // true

与React一起使用(避免遍历React元素的_owner 属性,该属性包含循环引用,并且在 比较借来的元素 react-fast-compare):

var equal = require('fast-deep-equal/react');
var equal = require('fast-deep-equal/es6/react');

性能基准测试

node . js v12.6.0:

fast-deep-equal x 261,950 ops/sec ±0.52% (89 runs sampled)
fast-deep-equal/es6 x 212,991 ops/sec ±0.34% (92 runs sampled)
fast-equals x 230,957 ops/sec ±0.83% (85 runs sampled)
nano-equal x 187,995 ops/sec ±0.53% (88 runs sampled)
shallow-equal-fuzzy x 138,302 ops/sec ±0.49% (90 runs sampled)
underscore.isEqual x 74,423 ops/sec ±0.38% (89 runs sampled)
lodash.isEqual x 36,637 ops/sec ±0.72% (90 runs sampled)
deep-equal x 2,310 ops/sec ±0.37% (90 runs sampled)
deep-eql x 35,312 ops/sec ±0.67% (91 runs sampled)
ramda.equals x 12,054 ops/sec ±0.40% (91 runs sampled)
util.isDeepStrictEqual x 46,440 ops/sec ±0.43% (90 runs sampled)
assert.deepStrictEqual x 456 ops/sec ±0.71% (88 runs sampled)

The fastest is fast-deep-equal

运行基准测试(需要node.js 6+):

npm run benchmark

请注意:这个基准测试运行在可用的测试用例上。要为您的应用程序选择性能最高的库,建议针对您的数据进行基准测试,不要期望该基准测试反映应用程序中的性能差异。

企业支持

快深等量包是其中的一部分 Tidelift企业订阅 -除了软件维护者提供的支持外,它还为开源软件用户提供集中的商业支持。

安全联系

要报告安全漏洞,请使用 Tidelift安全联系人。 Tidelift将协调修复和披露。请不要通过GitHub问题报告安全漏洞。

许可证

麻省理工学院

版本与发布记录

fast-deep-equal 共发布 14 个版本,首次发布于 2017/06/16;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.1.3latest2020/06/086 年前
3.1.12019/12/036 年前
3.1.02019/12/026 年前
3.0.12019/11/306 年前
3.0.02019/11/306 年前
3.0.0-beta.2beta2019/09/057 年前

关于 fast-deep-equal 的常见问题

fast-deep-equal 是什么?

快深等号

如何安装 fast-deep-equal?

在项目目录运行 npm install fast-deep-equal,或使用 pnpm add / yarn add / bun add。

fast-deep-equal 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

fast-deep-equal 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

fast-deep-equal 可以商用吗?

fast-deep-equal 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

fast-deep-equal 的下载量有多少?

根据 npm 官方下载统计,fast-deep-equal 在 2026/10/05 – 2026/11/03 这 30 天内被下载 880,204,326 次,日均约 29,340,144 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

fast-deep-equal 还在维护吗?

最新版本 3.1.3 发布于 2020/06/08(6 年前);至今共发布 14 个版本,其中过去 12 个月发布了 0 个;首次发布于 2017/06/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。