微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ES6数据集合Set 、Map

Set 

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

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); 

四个方法

1 set.add('55')
1 set.add('Mr').add('21')
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 获取
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 });

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐