javascript - 在javascript中使用字符串作为 map 的KEY

标签 javascript html hashmap

我在 js 上使用这个“ map ”:

   var myMap = new Object();
   myMap[key1]=value1; //like this n times...

但我想将键用作两个字符串的某种组合,意思是:

  function getMapValue(str1,str2){...}

我不介意将两个字符串连接成一个长字符串并使用长字符串的函数

有什么想法吗?

最佳答案

可以制作 map 的 map (访问时一定要检查中间 map 是否存在)

var myMap = {}; //dont use "new Object()". It is evil.

function insert(k1, k2, v){
   if(!(k1 in myMap)){ myMap[k1] = {}; }
   myMap[k1][k2] = v;
}

function get(k1, k2){
   return myMap[k1] && myMap[k1][k2];
}

如果您想将两个子字符串连接成一个子字符串,您可以使用加号运算符来连接它们。

var customKey = k1 + '|' + k2;

请确保您的分隔符不能用于普通 key 以避免冲突。

关于javascript - 在javascript中使用字符串作为 map 的KEY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8369161/

相关文章:

javascript - HTML5 无尽的背景动画

预期的 JavaScript 表达式

javascript - 如何使用 JavaScript 从多个下拉列表中选择唯一值?

java - 在 HashMap 中向 HashMap 添加元素

java - 通过两种单独的方法获取数据

java - 如何将对象的Arraylist转换为Javascript?

javascript - 使用 Django、Ajax、jQuery 提交表单而不刷新页面?

html - 带有 em 的 SVG 高度没有响应

javascript - 为什么 Tooltip 不随鼠标移动?

java - 将 HashMap 迭代器转换为具体类型时出现 ClassCastException