我需要通过两个字段对对象数组进行排序。我需要它尽可能减少计算量。
这是对象数组的外观
let arr = [
{
name: 'Liate',
surname: 'Tsek'
},
...
]
这就是我这样做的方式
let unique = [...new Set(arr.map(item => item.name))]
这仅适用于第一个字段,如何让它与两个字段一起使用?
答案 0 :(得分:0)
let seen = new Set()
let uniArr = arr.filter(entry => {
/*
** Create unique key of code and segment
*/
const key = entry.name+ "-" + entry.surname
/*
** Check if the key does not exist in the SET
*/
const keep = !seen.has(key)
/*
** If keep doesn't exist, add it to the set
*/
if (keep)
seen.add(key)
/*
** Return
*/
return keep
})
这是有用的,因为用于连接字段的分隔符永远不会出现在任一字段中。希望它有所帮助