I have a question about Javascript's dictionary. I have a dictionary in which key-value pairs are added dynamically like this:
var Dict = [] var addpair = function (mykey , myvalue) [ Dict.push({ key: mykey, value: myvalue }); }
I will call this function and pass it different keys and values. But now I want to retrieve my value based on the key but I am unable to do so. Can anyone tell me the correct way?
var givevalue = function (my_key) { return Dict["'" +my_key +"'"] // not working return Dict["'" +my_key +"'"].value // not working }
As my key is a variable, I can't use Dict.my_key
Thanks.
To get an object's key by it's value:Call the Object. keys() method to get an array of the object's keys. Use the find() method to find the key that corresponds to the value. The find method will return the first key that satisfies the condition.
Arrays in JavaScript don't use strings as keys. You will probably find that the value is there, but the key is an integer.
If you make Dict
into an object, this will work:
var dict = {}; var addPair = function (myKey, myValue) { dict[myKey] = myValue; }; var giveValue = function (myKey) { return dict[myKey]; };
The myKey
variable is already a string, so you don't need more quotes.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With