码迷,mamicode.com
首页 > 其他好文 > 详细

新的数据解构Map

时间:2021-03-04 13:18:55      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:set   ons   weak   nbsp   val   支持   nts   for   遍历   

// 新的数据解构Map key 值可以是不同类型的值

// let m = new Map()
// let obj = {
// name: ‘hky‘
// }

// m.set(obj, ‘es‘) // 第一个值为key 值 第二个为value值
// // console.log(m.get(obj)) // 获取value值
// // console.log(m.delete(obj))
// console.log(m.has(obj)) // 返回布尔值 判断是否有值

// let map = new Map([
// [ ‘name‘, ‘hky‘ ],
// [ ‘age‘, 5 ]
// ])
// console.log(map.size)
// console.log(map.has(‘name‘))
// console.log(map.get(‘age‘))
// map.set(‘name‘, ‘wyw‘) // 如果key值相同会把原有的值替代掉 => Map(2) {"name" => "wyw", "age" => 5}
// map.delete(‘name‘)
// console.log(map)

//遍历
// map.forEach((value, key) => {
// console.log(value, key)
// })
// for (let [key, value] of map) { // 注意for of 遍历 第一个是key 第二个是value
// console.log(key, value)
// }
// for (let key of map.keys()) {
// console.log(key)
// }
// for (let value of map.values()) {
// console.log(value)
// }
// for (let [key, value] of map.entries()) {
// console.log(key, value)
// }

// map Object
// map 对频繁键值对的增删 比对象的性能更加有优势

// WeakMap 与 map 的区别 键名只支持引用数据类型
// let wm = new WeakMap()
// wm.set([1], 2)
// wm.set({‘name‘: ‘hky‘}, ‘es‘)
// console.log(wm)
// WeakMao 不支持遍历 也是弱引用 防止内存泄漏

let wm = new WeakMap() // 举一个例子 当h1这个元素被删除是 不会被计入垃圾回收机制 总体引用次数为0 会被垃圾回收机制回收
let ele = document.getElementsByTagName((‘h1‘))
wm.set(ele, ‘info‘)
console.log(wm.get(ele))

新的数据解构Map

标签:set   ons   weak   nbsp   val   支持   nts   for   遍历   

原文地址:https://www.cnblogs.com/hekeying/p/14477147.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!