前端数组怎么对里面的对象去重
时间: 2023-07-18 11:26:49 浏览: 87
可以使用ES6中的Set和Array.from()方法来对前端数组里面的对象进行去重。具体代码如下:
```javascript
let arr = [{name:'张三',age:20},{name:'李四',age:22},{name:'张三',age:20}];
let newArr = Array.from(new Set(arr.map(JSON.stringify))).map(JSON.parse);
console.log(newArr); // [{name:'张三',age:20},{name:'李四',age:22}]
```
这里的思路是先将数组中的每个对象转成字符串,然后将这些字符串放入Set中去重,最后再将去重后的字符串转回对象,得到去重后的新数组。
相关问题
js 数组展开对象去重
在JavaScript中,可以使用数组展开运算符(Spread Operator)和Set数据结构来实现数组展开对象去重。下面是实现的步骤:
1. 定义一个包含重复对象的数组。
2. 使用数组展开运算符将数组展开为一个新的数组。
3. 使用Set数据结构去除数组中的重复项。
4. 将Set转换回数组。
以下是代码示例:
```javascript
let arr = [
{id: 1, name: '张三'},
{id: 2, name: '李四'},
{id: 1, name: '张三'},
{id: 3, name: '王五'}
];
let uniqueArr = [...new Set([...arr])];
console.log(uniqueArr);
// 输出: [{id: 1, name: '张三'}, {id: 2, name: '李四'}, {id: 3, name: '王五'}]
```
在上面的代码中,我们使用了数组展开运算符将原始数组展开为一个新的数组。然后,我们使用Set数据结构去除了数组中的重复项。最后,我们将Set转换回数组,并将结果赋值给`uniqueArr`变量。最终,`uniqueArr`将包含去重后的对象数组。
: 在前端开发中,数据处理是不可避免的一项任务。本文将介绍几种常见的数据处理方法,包括数组去重、数组对象去重、对象合并、数组近似率处理。
: 数组对象去重是指将数组中重复的对象去掉,只保留其中一个。在 JavaScript 中,可以使用 Array.prototype.reduce() 方法和 Map 数据结构来实现数组对象去重。
前端filter对象数组去重
可以使用 Set 数据结构和 Array.from() 方法来实现数组去重。
```javascript
const arr = [{name: 'Alice'}, {name: 'Bob'}, {name: 'Alice'}];
const uniqueArr = Array.from(new Set(arr.map(item => JSON.stringify(item))))
.map(item => JSON.parse(item));
console.log(uniqueArr); // [{name: 'Alice'}, {name: 'Bob'}]
```
上述代码中,先使用 map() 方法将对象数组转换为字符串数组,然后使用 Set 数据结构去重,最后使用 map() 方法将字符串数组转换为对象数组。注意,在将对象转换为字符串时,需要使用 JSON.stringify() 方法,否则无法去重。在将字符串转换为对象时,需要使用 JSON.parse() 方法。
阅读全文