现在的章节内容会更加的紧密,如果大家看不懂可以先去看以前的文章,当然看了的忘了,也可以去看一下,这样学习后面的内容才会更加容易.
什么是Set结构
Set是ES6给开发者带来的一种新的数据结构,你可以理解为值的集合。我们平时见到的数组Array也是一种数据结构,但是Set跟其他数据结构不同的地方就在于:它的值不会有重复项。
基本用法
我们从最基本的学起,Set的用法:
var s = new Set();
console.log(s);
//打印结果:Set {}
Set本身是一个构造函数,你可以理解为一个类,使用的时候需要用new来创建一个实例。以上的案例就是这样创建出一个Set结构,我们打印出来看看,控制台输出:Set{ }。
它不是值的集合吗,那如果我们想给Set对象增加一些值成员,我们要怎么做?
你可以这样:
var s = new Set([1,2,3]);
console.log(s);
//打印结果:Set {1, 2, 3}
案例中,用数组[ 1,2,3 ]作为参数传入,得到的变量s为Set { 1, 2, 3 }。
除了上面的方法,你还可以这样:
var s = new Set();
//使用add方法添加成员
s.add(1);
s.add(2);
s.add(3);
console.log(s);
//打印结果:Set {1, 2, 3}
如果你不想用数组作为参数来传值初始化变量s,你还可以通过Set 结构提供的add方法来添加方法,也是没问题的。
成员值唯一
不过,为Set 结构添加成员值的时候,要注意一点是,set结构的成员值是没有重复的,每个值都是唯一的,如果人为地给它添加相同的成员值,会发生什么呢?
试试不就知道了嘛:
var s = new Set();
s.add(1);
s.add(1);
console.log(s);
//打印结果: Set {1}
很明显,set结构会自动忽略相同的值,只会保留一个相同的值。
Set 结构除了提供add方法用于添加成员以外,还提供了哪些方法和属性呢?
size属性
size属性:获取成员的个数。
l