我想将变量传递到我的monthHash
变量的键中:
var monthHash = new Array();
monthHash["JAN"] = "Jan";
monthHash["FEB"] = "Feb";
...
monthHash["NOV"] = "Nov";
monthHash["DEV"] = "Dec";
这样我就可以做到:
alert(monthHash[the_variable]);
而不是使用开关盒来完成此操作。
然而,当我尝试时,我收到错误。有没有办法让变量在JavaScript中指示键的字符串标识符?
答案 0 :(得分:6)
我可以看到代码可以生成错误的唯一情况是the_variable
未定义(您将收到ReferenceError
)。
但是,Array
并不意味着用于键/值对。您应该使用对象:
var monthHash = {};
monthHash['JAN'] = 'Jan';
monthHash['FEB'] = 'Feb';
monthHash['NOV'] = 'Nov';
monthHash['DEC'] = 'Dec';
var the_variable = 'NOV';
alert(monthHash[the_variable]); // alerts 'Nov'
答案 1 :(得分:2)
声明它是一个对象:
var monthHash = {};
monthHash["JAN"] = ..;
或
var monthHash = {jan: "...", ...}
var x = "jan";
alert(monthHash[x]);