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']
}