📜  Lodash _.xorWith() 方法

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

Lodash _.xorWith() 方法

_.xorWith() 方法类似于 _.xor() 方法,不同之处在于它接受调用比较数组元素的比较器。结果值的顺序由它们在数组中出现的顺序决定。

句法:

_.xorWith([arrays], [comparator])

参数:此方法接受上面提到的两个参数,如下所述:

  • [arrays]:此参数保存要检查的数组。
  • [比较器](函数):此参数保存每个元素调用的比较器,并使用两个参数(arrVal,othVal)调用。

返回值:此方法用于返回过滤值的新数组。

示例一:这里使用 const _ = require('lodash') 来导入文件中的 lodash 库。

javascript
// Requiring the lodash library 
const _ = require("lodash"); 
      
// Original array 
  
var objects = [{ 'x': 3, 'y': 4 }, { 'x': 4, 'y': 3 }];
var others = [{ 'x': 3, 'y': 3 }, { 'x': 3, 'y': 4 }];
  
// Use of _.xorWith() 
// method
  
let gfg = _.xorWith(objects, others, _.isEqual);
      
  
// Printing the output 
console.log(gfg);


javascript
// Requiring the lodash library 
const _ = require("lodash"); 
      
// Original array 
  
var objects = ([ 23, 34, 98 ], [ 34, 23 ]);
var obj = ([ 4, 6 ], [4, 34, 6, 98 ]);
  
// Use of _.xorWith() 
// method
  
let gfg = _.xorWith(objects, obj, _.isEqual);
      
// Printing the output 
console.log(gfg);


javascript
// Requiring the lodash library 
const _ = require("lodash"); 
      
// Original array 
  
var obj1 = ([ 'p', 'q', 'r' ], [ 'u', 's', 't', 'u' ]);
  
var obj2 = ([ 'p', 'q', 'u', 's' ], [ 't', 'r', 'u' ]);
  
// Use of _.xorWith() method
  
let gfg = _.xorWith(obj1, obj2, _.isEqual);
  
// Printing the output 
console.log(gfg);


输出:

[{ x: 4, y: 3 }, { x: 3, y: 3 }]

示例 2:

javascript

// Requiring the lodash library 
const _ = require("lodash"); 
      
// Original array 
  
var objects = ([ 23, 34, 98 ], [ 34, 23 ]);
var obj = ([ 4, 6 ], [4, 34, 6, 98 ]);
  
// Use of _.xorWith() 
// method
  
let gfg = _.xorWith(objects, obj, _.isEqual);
      
// Printing the output 
console.log(gfg);

输出:

[ 23, 4, 6, 98 ]

示例 3:

javascript

// Requiring the lodash library 
const _ = require("lodash"); 
      
// Original array 
  
var obj1 = ([ 'p', 'q', 'r' ], [ 'u', 's', 't', 'u' ]);
  
var obj2 = ([ 'p', 'q', 'u', 's' ], [ 't', 'r', 'u' ]);
  
// Use of _.xorWith() method
  
let gfg = _.xorWith(obj1, obj2, _.isEqual);
  
// Printing the output 
console.log(gfg);

输出:

[ 's', 'r' ]

注意:此代码在普通 JavaScript 中不起作用,因为它需要安装库 lodash。