文章目录
Map
1 Map介绍
- Map用来存储键值对结构的数据(key-value)
- Object中存储的数据就可以认为是一种键值对结构
- Map和Object的主要区别: - Object中的属性名只能是字符串或符号,如果传递了一个其他类型的属性名,JS解释器会自动将其转换为字符串- Map中任何类型的值都可以成为数据的key
const obj ={"name":"孙悟空",'age':18,[Symbol()]:"哈哈",[obj2]:"嘻嘻"}
2 创建一个Map
const map =newMap()
map.set("name","孙悟空")
map.set(obj2,"呵呵")
map.set(NaN,"哈哈哈")
map.delete(NaN)// map.clear()
console.log(map)
console.log(map.get("name"))
console.log(map.has("name"))
3 常用方法介绍
map.size()
获取map中键值对的数量map.set(key, value)
向map中添加键值对map.get(key)
根据key获取值map.delete(key)
删除指定数据map.has(key)
检查map中是否包含指定键map.clear()
删除全部的键值对map.keys()
获取map的所有的keymap.values()
获取map的所有的value
4 将Map转换为数组
方法一:使用方法
Array.from(map)
const map =newMap()
map.set("name","孙悟空")
map.set("age",18)
map.set({},"呵呵")// 将map转换为数组const arr = Array.from(map)// [["name","孙悟空"],["age",18]]const arr =[...map]
console.log(arr)
方法二:使用解构符
推荐这种方法,写法更简便
const map =newMap()
map.set("name","孙悟空")
map.set("age",18)
map.set({},"呵呵")// 将map转换为数组const arr =[...map]
console.log(arr)
5 从数组构建Map
const map2 =newMap([["name","猪八戒"],["age",18],[{},()=>{}],])
console.log(map2)
6 遍历Map
方法一:使用
for-of
const map =newMap()
map.set("name","孙悟空")
map.set("age",18)
map.set({},"呵呵")for(const[key, value]of map){// const [key, value] = entry
console.log(key, value)}
方法二:使用
forEach
const map =newMap()
map.set("name","孙悟空")
map.set("age",18)
map.set({},"呵呵")
map.forEach((key, value)=>{
console.log(key, value)})
本文转载自: https://blog.csdn.net/qq_46311811/article/details/128207599
版权归原作者 Hydrion-Qlz 所有, 如有侵权,请联系我们删除。
版权归原作者 Hydrion-Qlz 所有, 如有侵权,请联系我们删除。