JavaScript变量的关联数组

时间:2010-06-22 20:59:19

标签: javascript string key associative-array

我想将变量传递到我的monthHash变量的键中:

 var monthHash = new Array();
  monthHash["JAN"] = "Jan";
  monthHash["FEB"] = "Feb";
  ...
  monthHash["NOV"] = "Nov";
  monthHash["DEV"] = "Dec";

这样我就可以做到:

alert(monthHash[the_variable]);

而不是使用开关盒来完成此操作。

然而,当我尝试时,我收到错误。有没有办法让变量在JavaScript中指示键的字符串标识符?

2 个答案:

答案 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]);