使用 Lodash 的 uniq() 函数过滤重复项

发布于 2022-09-18 13:25:12 字数 1234 浏览 120 评论 0

要过滤数组中的重复项,请使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

邮友

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

謌踐踏愛綪

文章 0 评论 0

开始看清了

文章 0 评论 0

高速公鹿

文章 0 评论 0

alipaysp_PLnULTzf66

文章 0 评论 0

热情消退

文章 0 评论 0

白色月光

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文