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

📅  最后修改于: 2023-12-03 15:02:47.299000             🧑  作者: Mango

Lodash _.uniqWith() 方法 - 数组去重

Lodash是 JavaScript 语言的一种工具库,提供了很多常用的工具函数,省去了我们自己编写这些函数的时间。其中Lodash的_.uniqWith() 方法是一种用于数组去重的方法。

语法
_.uniqWith(array, [comparator])
参数
  • array (Array):需要去重的数组。
  • [comparator] (Function):用于比较数组中的元素是否相等的函数,默认使用_.isEqual函数。
返回值

(Array):返回一个新的去重后的数组。

示例
去除一般类型的重复元素
const arr = ['a', 'b', 'c', 'a', 'd', 'c'];
const result = _.uniqWith(arr);
console.log(result); // ['a', 'b', 'c', 'd']
去除自定义类型的重复元素
const arr = [{ name: '张三', age: 18 }, { name: '李四', age: 20 }, { name: '张三', age: 18 }];
const result = _.uniqWith(arr, _.isEqual);
console.log(result); // [{ name: '张三', age: 18 }, { name: '李四', age: 20 }]
使用自定义的比较函数
const arr = [{ name: '张三', age: 18 }, { name: '李四', age: 20 }, { name: '张三', age: 18 }];
const result = _.uniqWith(arr, (a, b) => a.name === b.name);
console.log(result); // [{ name: '张三', age: 18 }, { name: '李四', age: 20 }]
注意事项
  • 对于一般类型的元素,可以直接使用_.uniq()方法。
  • 自定义的比较函数一定要返回一个布尔值,表示两个元素是否相等。