I'd like to pass a variable into the key of my monthHash
variable here:
var monthHash = new Array();
monthHash["JAN"] = "Jan";
monthHash["FEB"] = "Feb";
...
monthHash["NOV"] = "Nov";
monthHash["DEV"] = "Dec";
Such that I can do this:
alert(monthHash[the_variable]);
Instead of using a switch case to go through this.
When I try, however, I get an error. Is there a way I can have a variable indicate a string identifier for the key in JavaScript?
I'd like to pass a variable into the key of my monthHash
variable here:
var monthHash = new Array();
monthHash["JAN"] = "Jan";
monthHash["FEB"] = "Feb";
...
monthHash["NOV"] = "Nov";
monthHash["DEV"] = "Dec";
Such that I can do this:
alert(monthHash[the_variable]);
Instead of using a switch case to go through this.
When I try, however, I get an error. Is there a way I can have a variable indicate a string identifier for the key in JavaScript?
Share Improve this question edited Jun 22, 2010 at 23:10 Daniel Vassallo 345k72 gold badges512 silver badges446 bronze badges asked Jun 22, 2010 at 20:59 IncognitoIncognito 20.8k15 gold badges82 silver badges121 bronze badges 02 Answers
Reset to default 6The only case that I can see where your code can generate an error is when the_variable
is undefined (where you would receive a ReferenceError
).
However, Array
is not meant to be used for key/value pairs. You should use an object instead:
var monthHash = {};
monthHash['JAN'] = 'Jan';
monthHash['FEB'] = 'Feb';
monthHash['NOV'] = 'Nov';
monthHash['DEC'] = 'Dec';
var the_variable = 'NOV';
alert(monthHash[the_variable]); // alerts 'Nov'
Declare it to be an object:
var monthHash = {};
monthHash["JAN"] = ..;
or
var monthHash = {jan: "...", ...}
var x = "jan";
alert(monthHash[x]);