使用 Lodash 的 uniq() 函数过滤重复项
要过滤数组中的重复项,请使用 Lodash 的 uniq()
功能,此函数将从提供的数组中删除所有重复值。
const _ = require('lodash');
const array = [1, 2, 3, 4, 5, 5, 6, 7, 7];
_.uniq(array); // returns [1, 2, 3, 4, 5, 6, 7]
uniqBy()
_.uniq()
函数使用 SameValueZero 比较来比较值。SameValueZero 适用于原始值,但不适用于对象。
uniqBy()
功能类似于 uniq()
函数,主要区别在于它允许您传入一个返回要比较的值的函数。例如下面是您过滤重复对象的方式 name
财产。
const array = [
{ name: 'Badger' },
{ name: 'Badger' },
{ name: 'Badger' },
{ name: 'Mushroom' },
{ name: 'Mushroom' }
];
_.uniqBy(array, obj => obj.name); // returns [{ name: 'Badger' }, { name: 'Mushroom' }]
uniqWith()
uniqWith()
函数接受一个比较器函数,它应该返回 true
如果这两个值应该被认为是相等的。
例如,下面是如何使用 Lodash isEqual()
功能
const array = [
{ x: 1, y: 2 },
{ x: 2, y: 1 },
{ x: 1, y: 2 }
];
_.uniqWith(array, _.isEqual); // returns [{ x: 1, y: 2 }, { x: 2, y: 1 }]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论