Javascript对象Map,如果多个键映射到相同的值,如何从值获取键

时间:2016-03-14 13:51:35

标签: javascript javascript-objects

我不确定是否正确理解JavaScript对象地图,并且无法确定某些内容是错误还是错误。

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

但最后一个console.log应该显示什么?

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

MDN页面显示:"任何值(对象和原始值)都可以用作键或值。" https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

所以,根据我的理解,'购买'这是一个值,应映射到key1& KEY2。

有人可以确认这种行为的原因吗?感谢

1 个答案:

答案 0 :(得分:2)

不,它们的意思是您可以将任何对象用作地图中的键,并且可以将任何对象存储为地图中的值。这并不意味着价值也是关键。这将是一种奇怪的,意外的和不受欢迎的行为。