Map

Map 是一种新的集合类型,为这门语言带来了真正的键/值存储机制。Map 的大多数特性都可以通过 Object 类型实现。
1.基本 API

const m= new Map().set("key1", "val1").set("key2", "val2").set("key3", "val3"); 
console.log(m.has("key1"));// true 判断是否含有key值
console.log(m.get("key1"));// val1 获取key值中的value
console.log(m.delete("key1"));// true 删除key值
console.log(m.size);// 2
m.clear();
console.log(m.size);// 0

2.顺序与迭代

const m= new Map().set("key1", "val1").set("key2", "val2").set("key3", "val3"); 
console.log(m.entries === m[Symbol.iterator]);// true 
for (let key of m.keys()) { 
 console.log(key); // key1 key2 key3
}
m.forEach((val, key) => console.log(`${key} -> ${val}`)); // key1 -> val1 key2 -> val2 key3 -> val3

3.Object与Map区别

  1. 内存占用 给定固定大小的内存,Map 大约可以比 Object 多存储 50%的键/值对。
  2. 插入性能 如果代码涉及大量插入操作,那么显然 Map 的性能更佳。
  3. 查找速度 如果代码涉及大量查找操作,那么某些情况下可能选择 Object 更好一些。
  4. 删除性能 如果代码涉及大量删除操作,那么毫无疑问应该选择 Map。
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐