Map WeakMap 学习

2022/4/12 23:20:39

本文主要是介绍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)

这篇关于Map WeakMap 学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程