Set和Map数据集合
一、Set集合
Set集合是一种无重复元素的列表,使用 new Set() 方法创建Set集合。
let set=new Set();
- add() 添加元素,返回Set结构本身
![]()
数值、字符串、对象、数组等都可以作为元素添加进set集合,如果重复添加元素,元素会折叠,数值 1 和字符串 "1" 不会冲突。
- has() 检测Set的成员是否有这个值,返回布尔值
注:2和 "2" 是两个元素,不会进行隐式转换
console.log(set.has(2)); //true console.log(set.has("2")); //false
- delete() 删除指定元素, 返回布尔值
set.delete(2);
→ ![]()
- clear() 清除Set中所有元素
set.clear(); ![]()
- size 查看Set中元素个数
let set=new Set([1,2,3]); console.log(set.size); //3
... 语法 set集合转数组
let set=new Set([1,2,1,3,4,5,3]); console.log(set); let arr=[...set]; console.log(arr);
![]()
遍历
let set=new Set([1,2,4,5,3]);
for...of
for (let i of set) { console.log(i); }
forEach
set.forEach(function(key,value,set){ // key和value在set中参数是一样的 console.log(key+"-"+value); // set指set集合 console.log(set); //Set(5) {1, 2, 4, 5, 3} })
key-value: 
二、Map集合
一种以键值对存储的有序列表,通过 new Map() 方法创建。
let map=new Map();
- 添加 .set()
map.set("id",1001);
支持 .set().set()
map.set("name","li").set("age","18");
![]()
- 删除 .delete()
map.delete("name");
![]()
- 获取 .get()
console.log(map.get("id")); //1001
- 清除 .clear()
map.clear(); ![]()
- 检测 .has()
console.log(map.has("name")); //true
- 数量 .size
console.log(map.size); //3
遍历
使用 forEach 进行遍历
map.forEach((value,key,map)=>{ // 键名-键值 console.log(key+"-"+value); //name-li age-18 // map->map集合 // console.log(map); //Map(2) {'name' => 'li', 'age' => '18'} })
注:顺序:value在前 ,key在后

浙公网安备 33010602011771号