ES6新的数据类型set
set 集合,和数组很类似
特点 数据有唯一性,可以用来去除重复数据
声明
声明的方法很经典
//空集合
let set = new Set();
//有内容的集合
let set2 = new Set(["one","two"]);
由于集合的没有重复元素的特点,所以不管怎么声明,重复元素都会被剔除掉:
let set = new Set(["1","2","1","1"]);
//set的内容是1,2
打开控制台,我们可以看到这个集合的属性和方法,常用的有以下一个属性和四个方法
一个重要属性size
size是集合的大小,类似数组的length
let set = new Set(["one", "two"]);
console.log(set.size);
方法add
添加元素
let set = new Set(["one", "two"]);
set.add("three");
console.log(set);
我们通过控制台可以看到,直接将元素添加到最后一位
特别之处:
add函数可以进行链式调用
let set = new Set(["one", "two"]);
set.add("three").add("four");
console.log(set);
这是因为add函数有返回值,直接将这个set返回
可以尝试下面的语句,控制台可以直接显示set对象
console.log(set.add("five"));
方法delete
delete函数用来删除一个元素,参数就是一个值value
let set = new Set(["one", "two"]);
console.log(set.delete("one")); //true
console.log(set); //Set(1) {"two"}
console.log(set.delete("one")); //false
通过这个例子我们可以看出:delete的返回类型是Boolean,如果成功删除返回true,删除失败返回false
方法has
has函数判断集合中有没有某个元素
let set = new Set(["one", "two"]);
console.log(set.has("one")); //true
console.log(set.has("three")); //false
方法clear
clear函数清空一个集合
let set = new Set(["one", "two"]);
console.log(set.clear()); //undefined
console.log(set);
这个函数没有返回值,只是单纯的清空了集合