ES6-数据结构set

  • 集合的基本概念:集合是由一组无序且唯一(即不能重复)的项组成的。这个数据结构使用了与有限集合相同的术教学概念,应用在计算机的数据结构中。
  • 特点: key和value相同,没有重复的value.
  • Es6 提供了数据结构 Set,类似于数组,但成员都是唯一的,没有重复的值。

创建 Set

let a = new Set([1,2,3])
console.log(a);
//输出

在这里插入图片描述

  • set 的属性 size
let a=new Set([1,2,3])
console.log(a.size)
//输出3
  • set 的方法
  1. set.add
let a=new Set([1,2,3])
a.add('a').add('b')
console.log(a)

输出
在这里插入图片描述
在这里可以看出 add 可以进行链式的添加,类似于 jquery中的方法可以一起使用;
2. set.delete
复用上一个例子,直接输出

console.log(a.delete('a'))
console.log(a)

输出
在这里插入图片描述
可以看出删除成功返回了 一个布尔值,为true;
如果继续删除 a ,不难得知应该返回false;
此时的a 打印出来 可以看出确实把 a 从set 里面删掉了
3. set.has

console.log('a')
//a  在上一个例子中删除掉了
console.log('b')

输出
在这里插入图片描述
4. set.clear()

a.clear()
console.log(a)

输出
在这里插入图片描述
set 被清空掉了
5. keys() 返回 键名的遍历器
6. values()返回 键值的遍历器
由于 Set的键名和键值一样

console.log(a.keys())
console.log(a.values())

输出结果
在这里插入图片描述
可以看出来完全一样
7. entries 返回键值对

console.log(a.entries())
//输出结果与上面的一样
  1. foreach
  console.log(a.forEach(function (value,key,set){
        console.log(value,key,set)
      }))

输出
ES6-数据结构set_第1张图片
9. set不允许有重复数据

let a=new Set({1,2,3})
a.add(1)
console.log(a)

输出
在这里插入图片描述
可以看出相同的数据并没有被添加进去;
如此我们可以利用set 进行数组去重。下一个文档进行演示。

你可能感兴趣的:(ES6,ES6,Set)