📜  Lodash _.uniqWith() 方法

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

Lodash _.uniqWith() 方法

_.uniqWith() 方法类似于 _.uniq() 方法(即它创建一个数组的无重复版本,其中只保留每个元素的第一次出现。)除了它接受被调用的比较器比较数组的元素。结果值的顺序由它们在数组中出现的顺序决定。

句法:

_.uniqWith(array, [comparator])

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

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

返回值:该方法返回新的重复空闲数组。

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

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


javascript
// Requiring the lodash library 
const _ = require("lodash"); 
      
// Original array 
var objects = [ 2.2, 3.2, 4.2, 3.2, 5.2, 4.2 ];    
  
// Use of _.uniqWith() method
let gfg = _.uniqWith(objects, _.isEqual);
      
// Printing the output 
console.log(gfg);


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


输出:

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

示例 2:

javascript

// Requiring the lodash library 
const _ = require("lodash"); 
      
// Original array 
var objects = [ 2.2, 3.2, 4.2, 3.2, 5.2, 4.2 ];    
  
// Use of _.uniqWith() method
let gfg = _.uniqWith(objects, _.isEqual);
      
// Printing the output 
console.log(gfg);

输出:

[ 2.2, 3.2, 4.2, 5.2]

示例 3:

javascript

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

输出:

['p', 'q', 'r', 'u', 's', 't']

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