Javascript对象映射,如果多个键映射到同一个值,如何从值中获取键

Javascript对象映射,如果多个键映射到同一个值,如何从值中获取键,javascript,javascript-objects,Javascript,Javascript Objects,我不确定是否正确理解JavaScript对象映射,也不知道是否有错误,或者是否是这样 在下面的代码中,我可以理解前3条控制台消息 但是最后一个console.log-是否应该什么都不显示 MDN页面上说:“任何值(对象和原语值)都可以用作键或值。” 因此,根据我的理解,“买”是一个值,应该映射到键1和键2 有人能证实这种行为的原因吗?谢谢不,他们的意思是,您可以使用任何对象作为地图中的键,并且可以将任何对象作为值存储在地图中。这并不意味着值也是键。这将是一种奇怪的、意想不到的、不想要的行为 不

我不确定是否正确理解JavaScript对象映射,也不知道是否有错误,或者是否是这样

在下面的代码中,我可以理解前3条控制台消息

但是最后一个console.log-是否应该什么都不显示

MDN页面上说:“任何值(对象和原语值)都可以用作键或值。”

因此,根据我的理解,“买”是一个值,应该映射到键1和键2


有人能证实这种行为的原因吗?谢谢

不,他们的意思是,您可以使用任何对象作为地图中的键,并且可以将任何对象作为值存储在地图中。这并不意味着值也是键。这将是一种奇怪的、意想不到的、不想要的行为

不,它们的意思是,您可以使用任何对象作为贴图中的键,并且可以将任何对象作为值存储在贴图中。这并不意味着值也是键。这将是一种奇怪的、意想不到的、不想要的行为

啊,这就解释了。我试图得到一个内部实现为键和值的交叉乘积的数据结构。啊,这就解释了。我试图获取一个数据结构,该结构在内部实现为键和值的交叉乘积。
myMap.get()
需要键而不是值。当您查找密钥时,“Buy”将不返回任何内容,因为该密钥不存在于该映射中。也许他们想告诉你的是,map值不需要是唯一的,而key是唯一的。
myMap.get()
需要一个键而不是值。当您查找密钥时,“Buy”将不返回任何内容,因为该密钥不存在于该映射中。也许他们想告诉你的是地图值不必是唯一的。
let key1 = 3;
let key2 = 6;
let key3 = 14;
let myMap= new Map();

myMap.set(key1, 'Buy');
myMap.set(key2, 'Buy');
myMap.set(key3, 'Sell');

console.log(myMap.get(key1));   // Buy
console.log(myMap.get(key2));   //Buy 
console.log(myMap.get(key3));   //Sell
console.log(myMap.get('Buy'));   //.....nothing