ES6提供了新的数据结构Set,它类似于数组,但是成员的值是唯一的,没有重复的值(对于基本类型来说)。Set本身是一个构造函数,用来生成Set数据结构。
1、声明
1 let set = new Set(); 2 // 即创建了一个空的set
2、赋值
1 let set1 = new Set(['张三','李四','王五']); 2 console.log(set1) 3 // 输出为:Set(3) {"张三", "李四", "王五"}
3、属性:使用size求集合的大小(长度)
1 let set1 = new Set(['张三','李四','王五']); 2 console.log(set1) 3 // 输出为:Set(3) {"张三", "李四", "王五"} 4 5 console.log(set1.size) 6 // 返回值:3
4、方法
(1)add方法:表示往set中新增一个元素。
1 let set = new Set([1,2,3,4]); 2 set.add("aa") 3 console.log(set) 4 // 返回值: Set(5) {1, 2, 3, 4, "aa"} 5 // 改变自身 6 7 set.add(9).add(8).add(7) 8 console.log(set) 9 //返回值:Set(8) {1, 2, 3, 4, "aa", 9, 8, 7}
(2)delete方法:表示删除一个元素,返回结果是true或false
1 console.log(set.delete("aa")) 2 // 返回值:true 3 console.log(set) 4 // 返回值: Set(7) {1, 2, 3, 4, 9, 8, 7}
(3)has方法:判断某个元素是否在set集合中
1 console.log(set.has(9)) 2 // 返回:true 3 console.log(set.has("aa")) 4 // 返回:false
(4)clear方法:表示清楚set集合中的所有元素。没有任何返回值,直接清楚所有元素。
1 set.clear() 2 console.log(set) 3 // 返回值:Set(0) {}