const arr = [ { name: '内容1', id: 1 }, { name: '内容2', id: 2 }, { name: '内容3', id: 3 }, { name: '内容4', id: 4 }, ] 使用reduce 方法 去重
时间: 2024-03-07 13:47:11 浏览: 54
一个数组去重的小程序
你可以使用 reduce 方法和一个对象来实现数组去重。具体实现如下:
```
const arr = [
{ name: '内容1', id: 1 },
{ name: '内容2', id: 2 },
{ name: '内容3', id: 3 },
{ name: '内容2', id: 2 },
{ name: '内容4', id: 4 },
];
const uniqueArr = arr.reduce((acc, cur) => {
acc[cur.id] = cur;
return acc;
}, {});
console.log(Object.values(uniqueArr)); // [{ name: '内容1', id: 1 }, { name: '内容2', id: 2 }, { name: '内容3', id: 3 }, { name: '内容4', id: 4 }]
```
在这个例子中,我们使用 reduce 方法和一个空对象来实现数组去重。在每次迭代中,我们将当前元素的 `id` 作为对象的属性名,将当前元素本身作为属性值存储在对象中。由于对象的属性名是唯一的,这样就可以实现数组去重了。最后,我们使用 `Object.values` 方法获取对象的属性值,即去重后的数组。
阅读全文