如何最好地使用两个字符串变量作为Map
的键?
const map = new Map();
map.set(['a', 'b'], 5);
map.get(['a', 'b']); //undefined
在我的情况下,创建一个对 [v1,v2]
的引用并将其用作键不是选项。
那么唯一的选择是使用分隔符将这两个变量组合起来吗?(如果字符串变量可能包含分隔符字符,则会混乱)
如何最好地使用两个字符串变量作为Map
的键?
const map = new Map();
map.set(['a', 'b'], 5);
map.get(['a', 'b']); //undefined
在我的情况下,创建一个对 [v1,v2]
的引用并将其用作键不是选项。
那么唯一的选择是使用分隔符将这两个变量组合起来吗?(如果字符串变量可能包含分隔符字符,则会混乱)
可以嵌套Map:
var map=new Map();
function set(key1,key2,value){
if(map.has(key1)){
return map.get(key1).set(key2,value);
}
return map.set(key1,new Map([[key2,value]]));
}
function get(key1,key2){
if(map.has(key1)){
return map.get(key1).get(key2);
}
return false;
}
set("a","b","value");
console.log(get("a","b"))
var exit=Symbol("exit");
set("a",exit,"value");
set("a","b",exit,"value");