js中数组对象如何根据元素的personId去重
时间: 2024-09-13 08:04:30 浏览: 37
javascript中获取class的简单实现
在JavaScript中,如果你有一个数组并想要根据某个属性(比如`personId`)去重,你可以使用多种方法。这里提供一种常见的基于`Set`数据结构的方法,因为`Set`会自动去除重复值:
```javascript
function uniqueArrayByPersonId(arr) {
// 创建一个新的Set,Set会自动去除重复的personId
let uniqueSet = new Set();
// 使用filter和includes方法从原始数组中筛选出唯一的元素
return arr.filter(person => !uniqueSet.has(person.personId) && uniqueSet.add(person.personId));
}
// 示例:
let array = [
{ personId: '1', name: 'Alice' },
{ personId: '2', name: 'Bob' },
{ personId: '1', name: 'Charlie' },
{ personId: '3', name: 'Dave' },
];
let uniqueArray = uniqueArrayByPersonId(array);
console.log(uniqueArray); // 输出:[ { personId: '1', name: 'Alice' }, { personId: '2', name: 'Bob' }, { personId: '3', name: 'Dave' } ]
阅读全文