📜  Lodash _.isEqualWith() 方法(1)

📅  最后修改于: 2023-12-03 14:44:02.537000             🧑  作者: Mango

Lodash _.isEqualWith() 方法

简介

Lodash是一款专业的JavaScript工具库,提供了许多常用的函数和方法。其中,_.isEqualWith()方法是用于比较两个对象是否相等的函数,可以自定义比较规则。

语法
_.isEqualWith(value, other, customizer)

参数说明:

  • value:要比较的第一个对象
  • other:要比较的第二个对象
  • customizer:自定义比较函数。可选。
相等的定义

在Lodash中,两个对象相等的定义是:它们的属性值在深度优先的顺序下相等。

使用示例
默认情况
const object = { 'a': 1 };
const other = { 'a': 1 };

_.isEqualWith(object, other);
// => true

_.isEqualWith(object, { 'a': 1, 'b': 2 });
// => false
自定义比较
function customizer(objValue, othValue) {
  if (Array.isArray(objValue) && Array.isArray(othValue)) {
    return true;
  }
}
 
const object = { 'a': [1, 2] };
const other = { 'a': [3, 4] };
 
_.isEqualWith(object, other, customizer);
// => true
注意事项
  • 当自定义比较函数返回 undefined 时,将由 _.isEqualWith() 来决定如何比较两个对象。
  • 若自定义比较函数返回的值是 false,则两个对象不相等, _.isEqualWith() 的运行结束。
  • 若自定义比较函数返回的值是 true,则比较继续由 _.isEqualWith() 管理。