JS之Map的基本使用

一、Map的基本API

  • 创建: const map = new Map()
  • 插入:map.set("name", "郑建")
  • 读取:map.get("name")
  • 判断:map.has("name")
  • 删除:map.delete
  • 大小:map.size
  • 遍历:for of / forEach

二、创建

 const map = new Map()

三、插入

const map = new Map()
map.set("name", "郑建")  // 字符串作为key

const functionKey = function() {}
map.set(functionKey, "函数做key")  // 函数做为key

const objKey = {}
map.set(objKey, "对象做key")  // 对象做为key


 结果:

四、读取

map.get("name")  // "郑建"
map.get(functionKey)  // "函数做key"
map.get(objKey)  // "对象做key"

五、判断

map.has("name")

结果:

 

六、大小

map.size

结果:

 七、删除

map.delete("name")

结果:

八、遍历

1、for of

for (const it of map) {
    console.log(it)
}

结果:

 2、forEach

map.forEach((value, key) => {
    console.log(value, key)
})

结果:

 九、Map和Object之间的选择

提问:既然有了Object为什么还要弄一个Map呢?他们是不是有病?

从四个方向去选择:

内存占用: 不同浏览器有明显差异,但给定固定大小内存,Map能比Object多存储50%的键值对。

                    遇到大体量结构化数据,选择Map

插入性能 Map性能稍微好一点,特别涉及大量插入操作,尤为明显,选择Map

查找性能性能相当,但在少量“键/值对”的情况下,浏览器引擎会对Object有相关的优化策略,选择Object

删除性能:Map性能优势明显,而且利用delete删除Object属性仅仅只是解除绑定,内存没有释放,并不是真正的删除,而且会破环V8引擎中的线性结构快属性,极大降低访问性能,毫无疑问选择Map

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript 中的 Set 和 Map 是两种不同的数据结构。 Set 是一种集合,它允许你存储不重复的值。可以用来存储任何类型的值,如数字、字符串、对象等。Set 中的值是无序的,不重复且唯一的。 以下是使用 Set 的示例代码: ```javascript // 创建一个空的 Set let set = new Set(); // 添加元素到 Set set.add(1); set.add('hello'); set.add({name: 'John'}); // 检查元素是否存在于 Set console.log(set.has('hello')); // 输出: true // 获取 Set 的大小 console.log(set.size); // 输出: 3 // 删除元素 set.delete(1); // 遍历 Set set.forEach((value) => { console.log(value); }); // 清空 Set set.clear(); ``` Map 是一种键值对的集合,也可以存储任意类型的值作为键和值。Map 中的键是唯一的,而值可以重复。 以下是使用 Map 的示例代码: ```javascript // 创建一个空的 Map let map = new Map(); // 添加键值对到 Map map.set('name', 'John'); map.set('age', 30); map.set('name', 'Jane'); // 覆盖已有的键 // 获取 Map 的大小 console.log(map.size); // 输出: 2 // 获取特定键的值 console.log(map.get('name')); // 输出: Jane // 检查键是否存在于 Map console.log(map.has('age')); // 输出: true // 删除键值对 map.delete('age'); // 遍历 Map 的键值对 map.forEach((value, key) => { console.log(key, value); }); // 清空 Map map.clear(); ``` 这是关于 JavaScript 中 Set 和 Map基本介绍和用法。希望对你有所帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值