ES6数据集合Set 、Map

Set 

set类似于数组,没有重复的元素,开发中可用于去重操作,它的key和value相等。

  • 初始化一个Set集合
1 let set = new Set([1,2,3,4,4]);
2 console.log(set); // Set { 1, 2, 3, 4 } 

一个属性

size   返回集合的长度(去重后的长度)
1 console.log(set.size); 

四个方法

  • add()  添加一个元素
1 set.add('55')
  • 链式添加多个元素
1 set.add('Mr').add('21')
  • delete()  删除一个元素
1 set.delete(2);
  • has()  判断set集合中是否存在该元素   返回  true /  false
1 console.log(set.has(2));  //true
2 console.log(set.has('2'));   //false
  • clear()  清除set集合中所有元素
1 set.clear();
  • 没有返回值
1 console.log(set.clear())  // undefined

使用  ...  语法,将 Set 集合转换为数组;

1 let set=new Set([1,2,3,4,5,6]);
2 let array=[...set];
3 console.log(array);

使用 for 或者 forEach 来遍历 Set 集合

1 // for...of遍历
2 for (let i of set) {
3     console.log(i);
4 }
1 //forEach 变量
2 //在 Set 集合中 key 和 value 都是值 
3 //s 表示 set 集合本身
4 // set.forEach(闭包);
5 set.forEach(function(key,value,s){
6     console.log(key + '-' +value);   //1-1   2-2  3-3  4-4   5-5   6-6
7     console.log(s);   //Set(6) { 1, 2, 3, 4, 5, 6 }
8 });

Map

map  类似于对象,本质上是键值对的集合。字符串、对象都可以当作键

初始化一个map集合

1 let map=new Map([
2     ['name','Mr.Lee'],
3     ['age',100]
4 ]);

一个属性

  • size(去重后的长度)
1 console.log(map.size);

方法

  • set()  设置键值对
1 map.set('name','Mr.Lee');    //.set 添加,支持.set(...).set(...)
  • get()  通过键名获取元素
1 console.log(map.get('name'));   //.get 获取
  • delete()  删除一个键值对
1 map.delete('name'); 
  • has()   判断是否有该键值
1 console.log(map.has('name'));  //true
  • clear()    清除map集合中的数据
1 map.clear(); 

使用 forEach 来遍历 Map 集合

1 map.forEach((value,key,m)=>{
2     console.log(key + '-' + value);
3     console.log(m);
4 });

 

上一篇:(转)Golang struct{}的几种特殊用法


下一篇:大数据学习目录