簡體   English   中英

Javascript對象Map,如果多個鍵映射到同一個值,如何從值中獲取鍵

[英]Javascript object Map, how to get key from value if multiple keys map to same value

我不確定是否能正確理解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/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map

因此,據我了解,“購買”是一個值,應同時映射到key1和key2。

有人可以確認這種行為的原因嗎? 謝謝

不,它們的意思是可以在地圖中使用任何對象作為鍵,並且可以在地圖中將任何對象存儲為值。 這並不意味着值也是鍵。 那將是一種怪異,意外和不想要的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM