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