js set通过对象属性去重
时间: 2023-10-06 15:05:24 浏览: 119
vue中对象数组去重的实现
你可以使用 Set 数据结构来通过对象属性去重。Set 是一种集合类型,它只存储唯一的值。
首先,你需要遍历对象的属性,并将它们存储在 Set 中。然后,将 Set 转换回数组,以便进行进一步的操作。
下面是一个示例代码:
```javascript
function deduplicateObjArray(arr, prop) {
const uniqueSet = new Set();
arr.forEach(obj => {
uniqueSet.add(obj[prop]);
});
return Array.from(uniqueSet);
}
// 示例数据
const objArray = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Alice' },
{ id: 4, name: 'Charlie' },
{ id: 5, name: 'Alice' }
];
const uniqueNames = deduplicateObjArray(objArray, 'name');
console.log(uniqueNames); // 输出: ['Alice', 'Bob', 'Charlie']
```
在上面的代码中,我们定义了一个 `deduplicateObjArray` 函数,它接收一个对象数组 `arr` 和一个属性名称 `prop`。函数通过遍历对象数组中的每个对象,将指定属性的值添加到 Set 中。最后,我们使用 `Array.from` 方法将 Set 转换回数组,并返回去重后的结果。
这样,你就可以通过对象属性使用 Set 来去重了。
阅读全文