js 根据 对象id 去重,给个例子
时间: 2023-07-18 19:04:55 浏览: 60
JS实现数组简单去重及数组根据对象中的元素去重操作示例
5星 · 资源好评率100%
当你说“js 根据对象id去重”时,我理解你指的是从一组对象中根据各自的id属性去掉重复的对象。一个简单的解决方案是利用JavaScript中的数组和Set数据结构,代码如下:
```javascript
const objects = [
{id: 1, name: 'Alice'},
{id: 2, name: 'Bob'},
{id: 3, name: 'Charlie'},
{id: 1, name: 'Alice'}, // 重复的对象,应该去掉
{id: 4, name: 'David'},
{id: 2, name: 'Bob'}, // 另一个重复的对象,应该去掉
];
// 利用Set数据结构来去重
const uniqueObjects = Array.from(new Set(objects.map(obj => obj.id)))
.map(id => objects.find(obj => obj.id === id));
console.log(uniqueObjects);
// 输出结果:
// [
// {id: 1, name: 'Alice'},
// {id: 2, name: 'Bob'},
// {id: 3, name: 'Charlie'},
// {id: 4, name: 'David'}
// ]
```
上面的代码中,我们先利用`Array.prototype.map()`方法将所有对象的`id`属性提取出来,然后利用`Set`数据结构的去重能力去掉重复的`id`,最后利用`Array.prototype.find()`方法根据`id`找出对应的对象,从而得到不重复的对象数组。
阅读全文