对于set map WeakSet WeakMap 的理解

本文详细介绍了JavaScript中集合(Set, WeakSet)和映射(Map, WeakMap)的使用方法及特性,包括如何添加元素、遍历集合、检查成员存在性等,并对比了不同集合类型之间的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var setA = new Set(); //伪数组 不可重复性 唯一的
setA.add([1,2]);
setA.add([3,4]);
setA.add(5);
for(let [key,val] of setA.entries()){
console.log(key,val);
}
setA.forEach((key,val)=>{
console.log(key,val);
})
console.log("长度为:"+ setA.size);
console.log( setA.has(5));
console.log( setA.delete(5) );
//setA.delete( [3,4] ) 不可以
console.log(setA);
setA.clear();
console.log(setA);
console.log("=============================================");

var wset = new WeakSet(); //类似 set 官方推荐里面存json。 weakset 中没有 只能存json 且没有size 长度
wset.add({"a":"1"})
console.log(wset);
console.log(wset.size)
wset.add(1);
console.log(wset);



console.log("=============================================");

var mapA = new Map() //伪对象 key 可以传入一个变量 可以是任意类型
const json = {
"name":"asurson",
"age":18
}
mapA.set("a","aa");
mapA.set("b","bb");
mapA.set("c","cc");
mapA.set(json,"dd");
console.log(mapA);
console.log(mapA);
console.log(mapA.get(json));
mapA.delete("c");
console.log(mapA);
console.log(mapA.has("c"));
console.log(mapA.has(json));
mapA.clear();
console.log(mapA);
console.log("=============================================");

var wmap = new WeakMap(); //key 只能是对象
const jsonMap = {
"a":"1"
}
wmap.set(jsonMap,true);
console.log(wmap);
wmap.set("a","123");
console.log(wmap);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值