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

学习ES6 - set 结构 笔记

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

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

#一个Demo

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

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

#创建一个Set

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

#Set提供的属性和方法

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


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

#遍历

可以用for… of

  1. var set = new Set();
  2. set.add(1);
  3. set.add(2);
  4. for(let item of set){
  5. console.log(item)
  6. }
  7. //1
  8. //2
  1. var set = new Set([1,2,3]);
  2. for(let item of set.keys()){
  3. console.log(item)
  4. }
  5. for(let item of set.values()){
  6. console.log(item)
  7. }
  8. for(let item of set.entries()){
  9. console.log(item)
  10. }


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