我不确定是否正确理解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。
有人可以确认这种行为的原因吗?感谢
答案 0 :(得分:2)
不,它们的意思是您可以将任何对象用作地图中的键,并且可以将任何对象存储为地图中的值。这并不意味着价值也是关键。这将是一种奇怪的,意外的和不受欢迎的行为。