JS数组Set结构
什么是Set结构
在JavaScript中,Set是一种新的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构。
Set的特点
1.Set中的成员值都是唯一的,没有重复的值。
2.Set中的成员按照插入顺序进行排序。
3.Set可以接受任何类型的值作为成员。
创建Set
可以通过以下方式创建一个空的Set:
let set = new Set();
也可以通过传入一个可迭代对象(如数组)来创建一个包含初始值的Set:
let set = new Set([1, 2, 3]);
Set操作方法
添加元素:add()
使用add()方法向Set中添加新元素。如果添加成功,则返回该Set对象;如果该元素已经存在于Set中,则不进行任何操作。
let set = new Set();
set.add(1); // 添加元素1
set.add(2); // 添加元素2
set.add(3); // 添加元素3
删除元素:delete()
使用delete()方法从Set中删除指定元素。删除成功返回true;如果指定元素不存在,则返回false。
let set = new Set([1, 2, 3]);
set.delete(2); // 删除元素2
判断是否包含某个元素:has()
使用has()方法判断Set中是否包含指定元素。如果包含则返回true,否则返回false。
let set = new Set([1, 2, 3]);
set.has(2); // 返回true
清空Set:clear()
使用clear()方法清空Set中的所有元素。
let set = new Set([1, 2, 3]);
set.clear(); // 清空Set
获取Set的大小:size属性
使用size属性获取Set中元素的个数。
let set = new Setjsarray删除元素([1, 2, 3]);
console.log(set.size); // 输出3
遍历Set
可以使用for…of循环遍历Set中的所有元素。
let set = new Set([1, 2, 3]);
for (let item of set) {
    console.log(item);
}
Set与数组的转换
将Set转换为数组
可以使用Array.from()方法将Set转换为数组:
let set = new Set([1, 2, 3]);
let arr = Array.from(set);
console.log(arr); // 输出[1, 2, 3]
将数组转换为Set
可以通过传入一个数组来创建一个包含初始值的Set:
let arr = [1, 2, 3];
let set = new Set(arr);
console.log(set); // 输出{1, 2, 3}
应用场景
去重
由于Set中不允许存在重复的值,因此可以通过将数组转换为Set来实现去重操作。
let arr = [1, 2, 2, 3, 3, 4];
let set = new Set(arr);
let uniqueArr = Array.from(set);
console.log(uniqueArr); // 输出[1, 2, 3, 4]
判断元素是否存在
使用Set的has()方法可以快速判断一个元素是否存在于Set中。
let set = new Set([1, 2, 3]);
console.log(set.has(2)); // 输出true
console.log(set.has(4)); // 输出false
总结
Set是一种新的数据结构,用来存储唯一值的集合。它提供了一系列方法来操作集合,如添加元素、删除元素、判断元素是否存在等。Set可以很方便地进行去重操作,并且支持与数组之间的相互转换。在实际开发中,Set常用于处理需要唯一值的场景。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。