介绍一下js中Set方法
时间: 2024-02-26 20:57:23 浏览: 21
在 JavaScript 中,Set 是一种集合类型,它可以存储任何类型的唯一值。Set 中的值是唯一的,不会重复。Set 提供了多种方法来操作集合,其中一些方法包括:
- add(value): 向集合中添加一个值
- delete(value): 从集合中删除一个值
- has(value): 检查集合中是否包含指定的值
- clear(): 清空集合中的所有值
- size: 返回集合中的值的数量
Set 可以通过构造函数来创建:
```javascript
const mySet = new Set();
```
我们也可以通过传递一个数组或类似数组对象来初始化一个 Set:
```javascript
const mySet = new Set([1, 2, 3]);
```
Set 还支持迭代器,可以使用 for...of 循环来遍历集合中的值。
相关问题
javascript中set与get方法详解
JavaScript中的set和get方法是用于定义对象的属性的访问器方法。它们允许我们对属性的读取和赋值进行控制和处理。
通过set方法,我们可以在给属性赋值时执行一些操作。例如,我们可以检查赋给属性的值是否符合特定的规则或范围。如果不符合规则,我们可以抛出一个异常或执行其他的处理逻辑。这种方式可以防止不合理的值被赋给属性。
通过get方法,我们可以在读取属性值时执行一些操作。这样,我们可以对属性的读取进行一些处理,例如计算或格式化。这些操作可以帮助我们从底层数据中提取所需的值。
下面是一个使用set和get方法的简单示例:
```
const obj = {
_age: 0,
set age(value) {
if (value < 0) {
throw new Error('年龄不能为负数');
}
this._age = value;
},
get age() {
return this._age;
}
};
obj.age = 20; // 调用set方法
console.log(obj.age); // 调用get方法,输出20
obj.age = -10; // 调用set方法,抛出异常
```
在上面的示例中,我们定义了一个名为`age`的属性,使用了set和get方法。在set方法中,我们检查给属性赋值的值是否小于0。如果小于0,则抛出一个错误。在get方法中,我们直接返回`_age`的值。
总结一下,set和get方法可以让我们对属性的读取和赋值进行控制和处理。通过这种方式,我们可以确保属性的值符合我们的要求,同时还可以在属性的读取和赋值过程中执行一些其他操作。这样,我们可以更好地控制和管理对象的属性。
js数组中 set方法去重
在JavaScript中,可以使用Set对象来进行数组去重。Set是ES6新提供的数据结构,类似于数组,但是本身没有重复值。利用这一特性,我们可以将数组转为Set类型进行去重,然后使用Array.from方法将其再转为数组。具体实现方法如下所示:
```
var arr = [1, '2', 3, 4, undefined, NaN, NaN, 33, 33, 22];
var newArr = Array.from(new Set(arr));
console.log(newArr);
```
上述代码中,首先定义了一个包含重复元素的数组arr,然后使用Set对象将其转为Set类型进行去重,最后使用Array.from方法将其再转为数组。最终输出的newArr数组中,所有重复元素都被去除了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)