ES6 Set 数据类型是一种新的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。\n\nSet 的特点如下:\n1. Set 的成员都是唯一的,没有重复的值。\n2. Set 内部的成员是按照插入顺序排列的。\n3. Set 可以接受一个数组或者类数组作为参数进行初始化。\n4. Set 也可以接受一个具有 iterable 接口的其他数据结构作为参数进行初始化,如字符串、Map 等。\n5. Set 的方法有 add、delete、has、clear、size 等。\n\nSet 的常用方法如下:\n1. add(value):向 Set 结构中添加一个值,返回 Set 结构本身。\n2. delete(value):删除 Set 结构中的一个值,返回一个布尔值,表示是否删除成功。\n3. has(value):返回一个布尔值,表示 Set 结构中是否包含某个值。\n4. clear():清空 Set 结构,没有返回值。\n5. size:返回 Set 结构的成员总数。\n\n下面是使用 Set 的示例:\n\njavascript\nlet set = new Set();\nset.add(1);\nset.add(2);\nset.add(3);\nconsole.log(set.size); // 输出 3\n\nset.delete(2);\nconsole.log(set.has(2)); // 输出 false\n\nset.clear();\nconsole.log(set.size); // 输出 0\n\n\n除了常用的操作方法外,Set 还提供了一些高级的操作方法,如并集、交集、差集等。可以通过遍历 Set 结构来实现这些操作。\n\nSet 的应用场景包括:\n1. 去除数组的重复成员。\n2. 判断两个数组是否有重复的成员。\n3. 数组的并集、交集、差集操作等。\n\n需要注意的是,Set 内部使用 SameValueZero 算法来判断两个值是否相等,类似于 === 运算符,但是区别在于 NaN 等于自身,两个对象总是不相等的。


原文地址: https://www.cveoy.top/t/topic/pyYy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录