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)
posted @   危险废物  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示