js 去除数组中重复对象
时间: 2023-09-08 20:14:12 浏览: 165
可以使用 Set 数据结构来去除数组中的重复元素。具体实现代码如下:
```javascript
let arr = [{name: 'Alice'}, {name: 'Bob'}, {name: 'Alice'}];
let newArr = [...new Set(arr.map(item => JSON.stringify(item)))].map(item => JSON.parse(item));
console.log(newArr);
// 输出 [{name: 'Alice'}, {name: 'Bob'}]
```
上面的代码中,我们使用了 map() 方法将数组中的每个对象转换成 JSON 字符串,因为 Set 只能去除基本类型数据的重复元素。然后再将去重后的 JSON 字符串数组转换回对象数组。
相关问题
js去除数组中重复的元素
你可以使用JavaScript中的Set对象来去除数组中重复的元素。Set是一种可以存储任何类型的唯一值的集合。以下是一个示例代码:
```javascript
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr);
```
这将输出一个去重后的数组 [1, 2, 3, 4, 5]。使用Set对象可以避免使用循环和if语句来判断是否重复,代码更简洁易读。
js 去掉数组对象中的重复对象
可以使用 Set 数据结构来去掉数组对象中的重复对象。具体做法是先将数组转为 Set,然后再将 Set 转回数组。示例代码如下:
```javascript
let arr = [{a: 1}, {a: 2}, {a: 1}];
let set = new Set(arr.map(JSON.stringify));
let uniqueArr = Array.from(set).map(JSON.parse);
console.log(uniqueArr); // [{a: 1}, {a: 2}]
```
上述代码中,我们使用了 `JSON.stringify()` 和 `JSON.parse()` 来将对象转为字符串和将字符串转回对象。这是因为 Set 只能存储基本类型的值,而不能存储对象等引用类型的值。因此,需要先将对象转为字符串再存储到 Set 中。最后再将字符串转回对象即可。
阅读全文