js数组对象去重
时间: 2023-06-21 09:13:02 浏览: 53
可以使用 Set 数据结构来实现数组对象去重。具体实现如下:
```javascript
const arr = [
{ id: 1, name: 'Tom' },
{ id: 2, name: 'Jerry' },
{ id: 1, name: 'Tom' },
{ id: 3, name: 'Lucy' }
];
const set = new Set(arr.map(JSON.stringify));
const newArr = Array.from(set).map(JSON.parse);
console.log(newArr);
// Output: [{ id: 1, name: 'Tom' }, { id: 2, name: 'Jerry' }, { id: 3, name: 'Lucy' }]
```
上述代码中,先使用 `map` 方法将每个对象转换为字符串形式,然后将其作为 Set 的元素,这样就可以去重了。最后再将 Set 转换为数组,并使用 `map` 方法将字符串转换为对象形式即可得到去重后的数组。
相关问题
js 数组对象去重foreach
在JavaScript中,可以使用数组对象的`forEach`方法来对数组进行遍历操作。而对于数组去重,可以结合`forEach`方法和其他一些数组方法来实现。
下面是使用`forEach`方法进行数组对象去重的示例代码:
```javascript
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = [];
arr.forEach(function(item) {
if (!uniqueArr.includes(item)) {
uniqueArr.push(item);
}
});
console.log(uniqueArr); // 输出:[1, 2, 3, 4, 5]
```
在上述代码中,我们首先创建了一个空数组`uniqueArr`用于存储去重后的结果。然后使用`forEach`方法遍历原始数组`arr`,对于每个元素,判断它是否已经存在于`uniqueArr`中,如果不存在,则将其添加到`uniqueArr`中。
这样就可以通过`forEach`方法实现数组对象的去重操作。
js数组对象去重保证顺序
JavaScript数组对象去重并保证顺序可以使用ES6中的Set对象和Array.from方法来实现。具体步骤如下:
1. 将原始数组转化为Set对象(Set对象中不允许有重复元素)
2. 将Set对象转化为数组(Array.from方法可以将Set对象转化为数组,且保证元素的顺序与原始数组相同)
以下是具体的代码实现:
```javascript
function unique(arr) {
return Array.from(new Set(arr));
}
```
另外,如果要保证原始数组的顺序不变,可以使用Array.prototype.filter方法结合Array.prototype.indexOf方法实现。具体步骤如下:
1. 遍历原始数组arr
2. 判断当前元素在原始数组中第一次出现的索引是否等于当前索引,如果相等,则保留当前元素,否则过滤掉当前元素。
以下是具体的代码实现:
```javascript
function unique(arr) {
return arr.filter((item, index, array) => array.indexOf(item) === index);
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)