长话简说JavaScript(6)Map详解
MapMap 是一种新的集合类型,为这门语言带来了真正的键/值存储机制。Map 的大多数特性都可以通过 Object 类型实现。1.基本 APIconst m= new Map().set("key1", "val1").set("key2", "val2").set("key3", "val3");console.log(m.has("key1"));// true 判断是否含有key值cons
·
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区别
- 内存占用 给定固定大小的内存,Map 大约可以比 Object 多存储 50%的键/值对。
- 插入性能 如果代码涉及大量插入操作,那么显然 Map 的性能更佳。
- 查找速度 如果代码涉及大量查找操作,那么某些情况下可能选择 Object 更好一些。
- 删除性能 如果代码涉及大量删除操作,那么毫无疑问应该选择 Map。
更多推荐
已为社区贡献3条内容
所有评论(0)