ES6入门——Set数据结构

Set

ES6提供了新的数据结构Set。类似于数组,只不过其成员值都是唯一的,没有重复的值。

Set本身是一个构造函数,用来生成Set数据结构。

var s = new Set(); // 通过add方法向Set结构中加入成员 

[2, 3, 5, 4, 5, 2, 2].map(x => s.add(x))

for (i of s) { console.log(i) }

// 2 3 4 5 (表明set结构不会添加重复的值)

Set结构接收一个数组作为参数,用来初始化。

var items = new Set([1, 2, 3, 4, 5, 5, 5]); 
items.size 
// 5

向Set加入值的时候,不会发生类型转换。这意味着,在Set中5和”5”是两个不同的值。
Set结构有以下属性:

  • Set.prototype.constructor: 构造函数,默认就是Set函数。
  • set.prototype.size : 返回Set的成员总数。

Set结构有以下方法:

  • add(value) : 添加某个值。
  • delete(value) : 删除某个值。
  • has(value) : 返回一个布尔值,表示该值是否为Set的成员。
  • clear() : 清除所有成员。
s.add(1).add(2).add(2); // 注意“2”被加入了两次

s.size //2

s.has(1) // true

s.has(2) // true

s.has(3) // false

s.delete(2);

s.has(2) // false
注意: Array.from方法可以将Set结构转换为数组。
var items = new Set([1, 2, 3, 4, 5]);

 var array = Array.from( items );

这也提供了一种除去数组中重复元素的方法。

function dedupe( array ) {

return Array.from( new Set(array) );

}

版权声明:除特别注明外,本站所有文章均为田珊珊个人博客原创

转载请注明:出处来自田珊珊个人博客 » ES6入门——Set数据结构

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注