npm 包 deep-equal-ext 使用教程

阅读时长 4 分钟读完

简介

deep-equal-ext 是一个在 JavaScript 中对比两个对象是否相等的工具库。相比于 lodash.isEqual()deep-equal-ext 在某些特定场景下性能更优,同时也支持一些扩展的对比方式。

安装

可以通过 npm 安装:

使用

基本用法

deep-equal-ext 的最简单用法是比较两个对象是否深度相等:

-- -------------------- ---- -------
----- ------- - --------------------------

----- ---- - -
  -- -
    -- -------
  --
  -- --- -- --
--

----- ---- - -
  -- -
    -- -------
  --
  -- --- -- --
--

------------------------- ------- -- ----

配置选项

deep-equal-ext 支持通过配置选项修改对比行为:

-- -------------------- ---- -------
----- ------- - --------------------------

----- ---- - -
  -- -
    -- -------
  --
  -- --- -- --
--

----- ---- - -
  -- -
    -- -------
  --
  -- --- -- --
--

------------------------- ----- -
  ------- ----
---- -- -----

目前支持的配置选项有:

  • strict: 是否区分大小写,默认为 false

  • strictFields: 在 strict 模式下,指定需要区分大小写的属性或字段名数组。

  • sort: 是否对数组进行排序后再比较,默认为 false

  • sortWith: 比较数组时使用的比较函数。

例如,可以使用 sort 选项使得以下两个对象被认为相等:

-- -------------------- ---- -------
----- ---- - -
  -- --- -- --
--

----- ---- - -
  -- --- -- --
--

------------------------- ----- -
  ----- ----
---- -- ----

扩展对比

deep-equal-ext 支持通过扩展,对某些类型的数据进行更精细的对比而不是简单的引用相等性。目前包括以下扩展。

date

对比两个 Date 类型的对象。

regexp

对比正则表达式。

symbol

对比 Symbol 类型的变量。

set

对比 Set 类型的存储。

map

对比 Map 类型的存储。

总结

deep-equal-ext 是一个十分实用的工具库,让对象的深度对比更加方便和精准。通过配置选项和扩展对比方式,我们可以更好地控制对比行为,享受更好的编码体验。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005731781e8991b448e94de

纠错
反馈