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

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

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


根据函数过滤唯一数组值


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


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


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


JavaScript


const filterUniqueBy = (arr, fn) =>

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


示例:


filterUniqueBy(

 [

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

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

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

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

   { id: 0, value: 'e' }

 ],

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

); // [ { id: 0, value: 'a' }, { id: 0, value: 'e' } ]


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


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

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