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在后

  

 

posted @ 2021-11-27 17:59  十七日尾  阅读(70)  评论(0)    收藏  举报