Dictionary 无法从具有相同值的对象的映射中检索值

Dictionary 无法从具有相同值的对象的映射中检索值,dictionary,ecmascript-6,Dictionary,Ecmascript 6,我想构造一个以对象为键的查找表。但是,我发现我无法构造具有相同值的键来检索表中的值 constmakekey=(a,b)=>( {a, b、 } ); const lookup=新映射(); set(makeKey(1,2),'YES'); set(makeKey(3,7),'NO'); log(lookup.keys()); 常数k=makeKey(1,2) 控制台日志(k); console.log(lookup.get(k));//要获得“是”,请改为“未定义”我最终更改了生成密钥的方式

我想构造一个以对象为键的查找表。但是,我发现我无法构造具有相同值的键来检索表中的值

constmakekey=(a,b)=>(
{a,
b、 }
);
const lookup=新映射();
set(makeKey(1,2),'YES');
set(makeKey(3,7),'NO');
log(lookup.keys());
常数k=makeKey(1,2)
控制台日志(k);

console.log(lookup.get(k));//要获得“是”,请改为“未定义”
我最终更改了生成密钥的方式:

const makeKey = (a, b) => {
  const k = {a, b};
  return `${Object.values(k)}`
};

键现在是一个字符串

您可以创建一个顶级映射,其中
a
作为键,每个值都是一个映射,每个映射都有
b
值作为键,
YES
NO
值作为值。正如你所说,地图是以对象标识为基础的,因此这取决于你是否能实现你的目标。这与
[a,b]相同。请加入(“,”)
FYI。我可能会走那条路,因为它更容易阅读。