ES6的Map与Set说明
Map对象:https://blog.csdn.net/qq_34645412/article/details/145500626
Map 是 ES6 提供的新的数据结构,它类似于对象,但是"键"的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map 也可以跟踪键值对的原始插入顺序。
应用场景:
1、缓存系统:【常用功能】
const cache = new Map(); function getData(key) { if (cache.has(key)) { return cache.get(key); } const data = fetchData(key); // 假设 fetchData 是一个获取数据的函数 cache.set(key, data); return data; }
已经缓存的数据直接从缓存获取,缓存中没有的数据才从其它地方获取。Map 在增删操作上的性能优于普通对象,尤其是在键值对数量较大时。
重点:Map比普通对象强大的地方还有,它可以以对象作为键值,关联一个对象和另外一个对象的关系(深拷贝解决循环引用用的就是weakmap这个特性)。
2、需要保持插入顺序时:
Map 会保留键值对的插入顺序,而普通对象的键顺序是不确定的(ES6+ 中对象属性顺序有规则,但不如 Map 直观)。
3、其它一些功能一般使用object就可以。
Set对象:
应用场景:
1、需要去重时:
2、需要存储唯一值时:
3、需要集合运算时:Set 支持并集、交集、差集等集合运算。

浙公网安备 33010602011771号