ES6|ES6 set结构数据、数组去重、方法、遍历

一.set结构数据 1. set结构的数据类似于数组,但成员值都是没有重复的唯一值。


ES6|ES6 set结构数据、数组去重、方法、遍历
文章图片
s->Set[1,2,3,4]//注意:此时他是set结构数据,不是数组
二.数组去重 1. 可以用作数组去重的功能
let s = new Set([1,2,3,4,'3',1,3,4,3]); console.log(s); s->Set[1,2,3,4,'3']; 注意此时s为set结构数据

2. 将set结构数据变成数组-->扩展运算符...
let s = new Set([1,2,3,4,'3',1,3,4,3]); let arr = [...s]; console.log(arr); arr->Array[1,2,3,4,'3'];

3. 方法二:Array.from()方法可将数据转化成数组
ES6|ES6 set结构数据、数组去重、方法、遍历
文章图片
三.set结构数据方法
  • set实例的属性和方法
ES6|ES6 set结构数据、数组去重、方法、遍历
文章图片
1. add(value);
  • s.size获得set数据的长度
let s = new Set([1,2,3,2,3,4]); console.log(s.size); -->4 s.add(6); s.add(6); s.add(6); console.log(s); s-->Set[1,2,3,4,6]

2. delete(value)
let s = new Set([1,2,3,2,3,4]); s.delete(3); console.log(s); s-->Set[1,2,4]

3. has(value)
let s = new Set([1,2,3,2,3,4]); console.log(s.has(7)); -->false

4. clear()
let s = new Set([1,2,3,2,3,4]); s.clear(); console.log(s); -->Set[];

四.set结构数据遍历
ES6|ES6 set结构数据、数组去重、方法、遍历
文章图片
  • 遍历器只能用for...of...来遍历
  • 补充:对象中的键名和键值 eg:{a:1,b:2}-->a,b为键名,1,2为键值
1. for...of...用来遍历遍历器 2. keys()-->将set数据里的键名全部拢在一起,再利用for of遍历
let s = new Set(['a','b','c','b','d','a']); for ( x of s.keys()){ console.log(x); } -->a b c d

  • set数据不分键名和键值,所以keys和values一样
3. values()
let s = new Set(['a','b','c','b','d','a']); for ( x of s.values()){ console.log(x); } -->a b c d

4.entries(); 键值对指键名与键值的集合
let s = new Set(['a','b','c','b','d','a']); for ( x of s.entries()){ console.log(x); } -->Array['a','a'] Array['b','b'] Array['c','c'] Array['d','d']

5. forEach();与数组forEach()循环方法一样
ES6|ES6 set结构数据、数组去重、方法、遍历
文章图片

    推荐阅读