Es6语法-Set

182 阅读1分钟

Set

Set是es6新增的数据结构,类似数组,最大的特性就是所有元素都是唯一的,没有重复值,一般称为集合。

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

增加元素

添加某个值,返回 Set 结构本身,当添加实例中已经存在的元素,不会进行处理。

let list = new Set()
list.add(1)
list.add(2).add(3).add(3)  //3只被添加了一次

删除元素

删除某个值,返回 Boolean 类型,表示是否删除成功。

let list = new Set([1, 20, 39, 43])
list.delete(20) //删除值为20的元素。

判断某元素是否存在

判断某值是否为Set的成员,返回 Boolean

let list = new Set([1, 2, 3])
list.has(2)  //返回true

清除所有元素

清空Set所有的元素,无返回值。

let list = new Set([1, 3, 4])
list.clear()

遍历方法

遍历keys

返回键名的遍历器

let list = new Set(['a', 'b', 'c'])
for (let key of list.keys()) {
    console.log(key)  // a, b, c
} 

遍历values

返回键值

let list = new Set(['a', 'b', 'c'])
for (let key of list.values()) {
    console.log(key)  // a, b, c
}

遍历 entries

返回键值对

``` javascript
let list = new Set(['2', 'b', 'c'])
for (let item of list.entries()) {
    console.log(item)  // ['2', '2'] ['b', 'b'] ['c', 'c']
}