Lodash _.isEqualWith() 方法
Lodash是一个基于 underscore.js 的 JavaScript 库。 Lodash 有助于处理数组、字符串、对象、数字等。
lodash 中 Lang 的 _.isEqualWith() 方法类似于_.isEqual()方法,唯一的区别是它接受为比较值而调用的自定义程序。此外,如果此处使用的定制器返回未定义,则比较由方法处理。
注意:此处使用的自定义程序最多可以使用六个参数调用,即objValue 、 othValue 、 index |键、对象、其他和堆栈。
句法:
_.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