Map WeakMap 学习
/* map weakmap
javascript对象本质上是键值对的集合 hash结构
对象只能用字符串当作键 如果不是字符串 会调用toString()转换为字符串
为了解决这个问题 es6提供了map数据结构 这个构造函数,它类似于对象也是键值对的集合 但是key的范围不限于字符产 可以是任何类型
实例方法:
size:key数量
key(key,value):添加/修改,返回当前map对象本身
get(key):获取,读取key对应的value,如果key不存在,返回undefined
has(key):key是否存在map对象中,返回布尔值
delate(key):删除key 返回true,删除失败返回false
clear():清空
遍历方法:
key():返回key名的遍历器
values():返回键值的遍历器
entries():返回键值对的遍历器
forEach():遍历Map的所有成员
*/
//创建一个空的map对象
// const map = new Map()
//实例化方法操作 set添加成员
/* map
.set(2022, "赚钱多多")
.set('target', "脱单不脱发")
console.log(map); */
//传参需要一个二维数组
const map = new Map([
[2022, "赚钱多多"],
['target', "脱单不脱发"]
])
console.log(map)
console.log(map.get(2022))
console.log(map.has(2022))
console.log(map.size)
//遍历
//遍历整个map
for (let item of map) {
console.log(item)
}
for (let [key, value] of map) {
console.log(key, value)
}
for (let item of map.entries()) {
console.log(item)
}
//遍历键
for (let key of map.keys()) {
console.log(key)
}
//遍历值
for (let value of map.values()) {
console.log(value)
}
/*WeakMap 和 map 区别
1.WeakMap只接受对象作为键名
2.WeakMap的键名所指向的对象,不进入垃圾回收机制
*/
const map2 = new WeakMap();
// map2.set(1, 2)
// map2.set(Symbol(), 2)
// map2.set(null, 2)
map2.set([], {})
map2.set(document, 2022)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!