js数组对象属性去重
时间: 2024-08-17 22:00:29 浏览: 66
JS数组中对象去重操作示例
在JavaScript中,数组对象属性去重可以采用多种方法,这里列举几种常见的:
1. **Set数据结构**:
使用Set集合,因为Set不允许有重复元素。首先将数组转换为Set,然后再转回数组即可实现去重:
```javascript
let arr = [...new Set(arr)];
```
2. **双重循环**:
利用两个嵌套循环,检查每个元素是否已经在新数组中,如果未找到则添加:
```javascript
let uniqueArr = [];
for(let i = 0; i < arr.length; i++) {
if(uniqueArr.indexOf(arr[i]) === -1) {
uniqueArr.push(arr[i]);
}
}
```
3. **filter方法**:
通过filter函数配合indexOf或者includes方法,过滤出不存在于其他位置的新数组:
```javascript
let uniqueArr = arr.filter((value, index, self) => {
return self.indexOf(value) === index;
});
```
4. **reduce方法**:
利用reduce方法迭代数组,并检查当前元素是否已经存在于结果数组中:
```javascript
let uniqueArr = arr.reduce((acc, cur) => acc.includes(cur) ? acc : [...acc, cur], []);
```
5. **利用Map或JSON.stringify**:
如果允许稍微复杂的操作,还可以用Map存储数组元素,Map键值对不能重复,然后转化为数组:
```javascript
let uniqueArr = Array.from(new Map(arr.map(JSON.stringify)));
```
阅读全文