Skip to content Skip to sidebar Skip to footer

Javascript's Equivalent Of Java's Map.getKey()

I have a map or say an associative array kind of structure in JavaScript: var myMap = {'one': 1, 'two': 2, 'three': 3}; To get keys corresponding to a given value I have to iterat

Solution 1:

var myMap = {"one": 1, "two": 2, "three": 3};

declare it as a global variable

function getKey(value){
    var flag=false;
    var keyVal;
    for (key in myMap){
         if (myMap[key] == value){
             flag=true;
             keyVal=key;
             break;
         }
    }
    if(flag){
         return keyVal;
    }
    else{
         return false;
    }
}

I dont think you need any function to get the value of a specific key.

You just have to write

var value = myMap[key];

Solution 2:

for your specific case there is a faster solution:

function map_test(key,value)
{
var myMap = {"one": 1, "two": 2, "three": 3};
if(myMap.hasOwnProperty(key)) alert(key);
}
map_test('two',2);

In general, there isn't a direct method getKeys()


Solution 3:

about several months ago I wrote a wrapper to the native key value storage very similar to Java Map. Maybe it will be usefull to you, but remember getKey uses linear search because this is not a HashMap.

You can check the description and code of the class on my blog (cause it is a long code of only sugar methods): http://stamat.wordpress.com/javascript-map-class/


Solution 4:

You don't need such function, just write myMap[key], that's it.


Post a Comment for "Javascript's Equivalent Of Java's Map.getKey()"