今天小编给大家分享一下Js数组怎么根据某个对象值去重的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
1、 普通去重
function unique1 (arr) {
return Array.from(new Set(arr))
}
function unique2 (arr) {
return arr.filter((item, index)=> {
return arr.indexOf(item) === index
})
}
unique([1,2,3,3,4,4,4,5])
// [1, 2, 3, 4, 5]
2、根据某个对象值去重
function unique(arr,key) {
const res = new Map();
return arr.filter((a) => !res.has(a[key]) && res.set(a[key], 1))
}
unique([
{
from:'张三',
to: '河南'
},
{
from:'王二',
to: '杭州'
},
{
from:'王二',
to: '河南'
},
{
from:'王二',
to: '山东'
},
],'from')