当前位置:首页 > 学习ES6 - set 结构 笔记

学习ES6 - set 结构 笔记

发布于 2018-04-28 阅读 417 次 Javascript ES6

Set 结构它类似于数组,但是成员都是不重复的值

#一个Demo

Set本身是一个构造函数,用于生成Set数据结构,下面是一个简单的例子

var set = new Set();
set.add(1);
set.add(2);
console.log(set.size) // 2

#创建一个Set

//构造函数创建,add添加成员创建
var set = new Set();
set.add(1);
set.add(2);
//通过一个数组创建一个Set
var set1 = new Set([1,2,3]);
//通过一个类数组创建Set
var set2 = new Set(document.getElementsByTagName('div'));

#Set提供的属性和方法

属性:
——Set.prototype.size //用于获取set的成员总数
——Set.prototype.constructor //构造函数默认是Set函数


方法:
——add() //添加一个成员,返回Set本身
——has() //判断某个成员是否存在,返回一个bool值
——delete() //删除某个成员,返回布尔值,表示删除成功与否
——clear() //清除所有成员,没有返回值

#遍历

可以用for... of

var set = new Set();
set.add(1);
set.add(2);
for(let item of set){
    console.log(item)
}

//1
//2
var set = new Set([1,2,3]);
for(let item of set.keys()){
    console.log(item)
}

for(let item of set.values()){
    console.log(item)
}

for(let item of set.entries()){
    console.log(item)
}


由于Set结构本身成员唯一不重复,所以可以用于数组的去重