数组对象去重
https://dev.to/vuevixens/removing-duplicates-in-an-array-of-objects-in-js-with-sets-3fep
方法一:
const arr = [{
id: 1,
name: 'gem'
}, {
id: 2,
name: 'gan'
}, {
id: 1,
name: 'yin'
}]
const uniqueArr1 = Array.from(new Set(arr.map(a => a.id)))
console.log(uniqueArr1) // [1, 2]
const uniqueArr2 = Array.from(new Set(arr.map(a => a.id)))
.map(id => {
return arr.find(a => a.id === id)
})
console.log(uniqueArr2) // [{id: 1, name: 'gem}, {id: 2, name: 'gan}]
方法二:
const arr = [{
id: 1,
name: 'gem'
}, {
id: 2,
name: 'gan'
}, {
id: 1,
name: 'yin'
}]
const filteredArr = arr.reduce((acc, current) => {
const x = acc.find(item => item.id === current.id);
console.log(acc, current, x)
if (!x) {
return acc.concat([current]);
} else {
return acc;
}
}, [])
console.log('filteredArr', filteredArr)

方法三:
根据数组中的对象的serviceName属性进行去重,如果serviceName一样的话,只留一条


网友评论