📜  Lodash _.isEqualWith() 方法

📅  最后修改于: 2022-05-13 01:56:49.885000             🧑  作者: Mango

Lodash _.isEqualWith() 方法

Lodash是一个基于 underscore.js 的 JavaScript 库。 Lodash 有助于处理数组、字符串、对象、数字等。

lodash 中 Lang 的 _.isEqualWith() 方法类似于_.isEqual()方法,唯一的区别是它接受为比较值而调用的自定义程序。此外,如果此处使用的定制器返回未定义,则比较由方法处理。

注意:此处使用的自定义程序最多可以使用六个参数调用,即objValueothValueindex |对象其他堆栈

句法:

_.isEqualWith(value, other, [customizer])

参数:此方法接受三个参数,如上所述,如下所述:

  • value:要比较的值。
  • other:要比较的另一个值。
  • 定制器:用于定制比较的函数。

返回值:如果规定的值相等,则此方法返回 true,否则返回 false。

示例 1:

Javascript
// Requiring lodash library
const _ = require('lodash');
  
// Defining a function portal
function portal(val) {
  return /^G(?:fG|eeksforGeeks)$/.test(val);
}
   
// Defining customizer to compare values
function customizer(objectValue, otherValue) {
  if (portal(objectValue) && portal(otherValue)) {
    return true;
  }
}
  
// Initializing values
var val = ['GeeksforGeeks', 'CS-portal'];
var otherval = ['GfG', 'CS-portal'];
  
// Calling isEqualWith() method with all
// its parameter
let result = _.isEqualWith(val, otherval, customizer); 
  
// Displays output
console.log(result);


Javascript
// Requiring lodash library
const _ = require('lodash');
  
// Defining a function portal
function portal(val) {
  return /^G(?:fG|eeksforGeeks)$/.test(val);
}
   
// Defining customizer to compare values
function customizer(objectValue, otherValue) {
  if (portal(objectValue) && portal(otherValue)) {
    return true;
  }
}
  
// Initializing values
var val = ['GeeksforGeeks', 'CS-portal'];
var otherval = ['GfG', 'portal'];
  
// Calling isEqualWith() method with all
// its parameter
let result = _.isEqualWith(val, otherval, customizer); 
  
// Displays output
console.log(result);


Javascript
// Requiring lodash library
const _ = require('lodash');
  
// Defining a function gfg
function gfg(val) {
  return val;
}
  
// Defining customizer
function intg(x, y) {
 if (gfg(x) === gfg(y)){  
  return true;
   }
}
  
// Calling isEqualWith() method with all
// its parameter
let result = _.isEqualWith('gf', 'gfg', intg); 
  
// Displays output
console.log(result);


输出:

true

示例 2:

Javascript

// Requiring lodash library
const _ = require('lodash');
  
// Defining a function portal
function portal(val) {
  return /^G(?:fG|eeksforGeeks)$/.test(val);
}
   
// Defining customizer to compare values
function customizer(objectValue, otherValue) {
  if (portal(objectValue) && portal(otherValue)) {
    return true;
  }
}
  
// Initializing values
var val = ['GeeksforGeeks', 'CS-portal'];
var otherval = ['GfG', 'portal'];
  
// Calling isEqualWith() method with all
// its parameter
let result = _.isEqualWith(val, otherval, customizer); 
  
// Displays output
console.log(result);

输出:

false

示例 3:

Javascript

// Requiring lodash library
const _ = require('lodash');
  
// Defining a function gfg
function gfg(val) {
  return val;
}
  
// Defining customizer
function intg(x, y) {
 if (gfg(x) === gfg(y)){  
  return true;
   }
}
  
// Calling isEqualWith() method with all
// its parameter
let result = _.isEqualWith('gf', 'gfg', intg); 
  
// Displays output
console.log(result);

输出:

false

参考: https://lodash.com/docs/4.17.15#isEqualWith