我想构建一个以对象为键的查找表。但是我发现我无法构造具有相同值的键来检索表中的值。
const makeKey = (a, b) => (
{a,
b,}
);
const lookup = new Map();
lookup.set(makeKey(1, 2), 'YES');
lookup.set(makeKey(3, 7), 'NO');
console.log(lookup.keys());
const k = makeKey(1, 2)
console.log(k);
console.log(lookup.get(k)); // want to get YES, get undefined instead

Map似乎使用对象标识来查找匹配。
如何将对象的值用作键?
答案 0 :(得分:0)
我最终改变了密钥的生成方式:
const makeKey = (a, b) => {
const k = {a, b};
return `${Object.values(k)}`
};
键现在是一个字符串