js数组去重set方法
时间: 2023-06-21 21:06:08 浏览: 53
JavaScript中可以使用Set对象来实现数组去重。Set对象是一种集合数据结构,其中的元素唯一,不会重复。可以将一个数组转换为Set对象,然后再将Set对象转换为数组,就可以得到去重后的数组。
下面是使用Set方法实现数组去重的示例代码:
```
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
在上面的代码中,首先定义了一个包含重复元素的数组arr。然后使用Set对象去重,通过`[...new Set(arr)]`将Set对象转换为数组uniqueArr,最后输出结果。
相关问题
js对象数组去重set方法
在 JavaScript 中,你可以使用 Set 对象来去重一个对象数组。Set 对象是一种集合数据结构,它只允许存储唯一的值。
下面是使用 Set 对象去重一个对象数组的方法:
```javascript
const arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 1, name: 'Alice' } // 重复的对象
];
const uniqueArr = [...new Set(arr.map(JSON.stringify))].map(JSON.parse);
console.log(uniqueArr);
```
在这个示例中,我们先使用 `map` 方法将每个对象转换成字符串形式(使用 `JSON.stringify`),然后将这些字符串放入 Set 对象中,利用 Set 对象自动去除重复项的特性。最后,我们再将每个字符串转换回对象形式(使用 `JSON.parse`),得到去重后的对象数组。
注意,这种方法会导致对象的顺序被重置,因为 Set 对象不维护元素的插入顺序。如果你需要保留原始顺序,可以使用 ES6 的 `Map` 数据结构来实现:
```javascript
const arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 1, name: 'Alice' } // 重复的对象
];
const uniqueArr = Array.from(new Map(arr.map(obj => [JSON.stringify(obj), obj])).values());
console.log(uniqueArr);
```
这里我们使用 `Array.from` 方法将 Map 对象的值转换为数组,以保留原始顺序。
js数组去重 new set方法
对于JavaScript中的数组去重,可以使用ES6中引入的Set数据结构来实现。Set是一种集合,它只存储唯一的值,不允许重复。可以通过将数组转换为Set,然后再将Set转换回数组来实现去重。
以下是使用Set方法实现数组去重的示例代码:
```javascript
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // 输出:[1, 2, 3, 4, 5]
```
在上面的代码中,首先将数组`arr`转换为Set对象,然后通过扩展运算符(...)将Set对象转换回数组。这样就得到了去重后的数组`uniqueArr`。
需要注意的是,Set中存储的值是根据严格相等运算符(===)进行比较的,因此对于引用类型的元素,只有当它们引用同一个对象时才会被视为重复。
希望能帮到你!如有任何疑问,请随时提问。