参考:MDN 地图
当键在运行时之前未知时,以及当
所有键都是相同类型,所有值都是相同类型。
当存在对单个元素进行操作的逻辑时,请使用对象。
问题:
在对象上使用映射的适用示例是什么?特别是“什么时候密钥在运行时之前是未知的?”
var myMap = new Map();
var keyObj = {},
keyFunc = function () { return 'hey'},
keyString = "a string";
// setting the values
myMap.set(keyString, "value associated with 'a string'");
myMap.set(keyObj, "value associated with keyObj");
myMap.set(keyFunc, "value associated with keyFunc");
console.log(myMap.get(keyFunc));
在对象上使用映射的适用示例是什么?
我认为你已经给出了一个很好的例子:你至少需要使用Map
当您使用对象(包括 Function 对象)作为键时。
特别是“什么时候密钥在运行时之前是未知的?”
每当它们在编译时未知时。简而言之,您应该始终使用Map
当你需要一个核心价值收藏。当您从集合中动态添加和删除值时,特别是当您事先不知道这些值时(例如,它们是从数据库中读取的、由用户输入的等),可以很好地表明您需要集合。
相反,当您在编写代码时知道对象具有哪些属性和多少个属性时(当它们的形状是静态的时),您应该使用对象。正如@Felix 所说:当你需要一个record。当字段具有不同类型,并且您从不需要使用括号表示法(或期望其中包含一组有限的属性名称)时,一个很好的指示就是需要这样做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)