欢迎光临散文网 会员登陆 & 注册

碎片时间学编程「275]:根据函数过滤非唯一数组值

2023-02-27 12:26 作者:路条编程  | 我要投稿


根据函数过滤非唯一数组值


根据提供的比较器函数,创建一个过滤掉非唯一值的数组。


基于比较器函数,使用 Array.prototype.filter() 和 Array.prototype.every() 方法创建仅包含唯一值的数组 fn。


比较器函数有四个参数:被比较的两个元素的值和它们的索引。


JavaScript

const filterNonUniqueBy = (arr, fn) =>

 arr.filter((v, i) => arr.every((x, j) => (i === j) === fn(v, x, i, j)));


示例:

filterNonUniqueBy(

 [

   { id: 0, value: 'a' },

   { id: 1, value: 'b' },

   { id: 2, value: 'c' },

   { id: 1, value: 'd' },

   { id: 0, value: 'e' }

 ],

 (a, b) => a.id === b.id

); // [ { id: 2, value: 'c' } ]


更多内容请访问我的网站:https://www.icoderoad.com


碎片时间学编程「275]:根据函数过滤非唯一数组值的评论 (共 条)

分享到微博请遵守国家法律