reduce数组对象去重
// 根据对象的code值去重,即数组中code相同的只保留一个元素
let arr = [
{ id: 1, code: 2000, name: '秋歌' },
{ id: 2, code: 2001, name: '瓜老板' },
{ id: 3, code: 1001, name: '卷咪' },
{ id: 4, code: 1002, name: '卷米啊' },
{ id: 5, code: 2001, name: '瓜老板' },
],
// 方法
let xx = arr.reduce((r, c) => {
if (r.find(item => item.code === c.code)) {
return r
}
return [...r, c]
}, [])
// 也可以这么写 一样得
duplication(arr) {
return arr.reduce((cur, next) => {
const isRepeat = cur.find(v => v.code=== next.code)
return isRepeat ? cur : [...cur, next]
}, [])
},
duplication(arr)
// 打印结果xx
[{ id: 1, code: 2000, name: '秋歌' },
{ id: 2, code: 2001, name: '瓜老板' },
{ id: 3, code: 1001, name: '卷咪' },
{ id: 4, code: 1002, name: '卷米啊' }]