引用具有字符串而不是数字的多维数组

时间:2013-02-18 18:32:38

标签: javascript

如果是java脚本我有以下位,我想使用名称而不是数字来引用多维数组,我认为以下代码可以工作:

  var detail=new Array()

  detail['Big Trailer']=new Array()

  detail['Big Trailer']['Bill'] = 'driving to London' 

  detail['Big Trailer']['John'] = 'driving to Scotland'

但是当我尝试引用数组时,我的所有尝试都未定义

  Alert ( detail['Big Trailer]['john'] )

我是否必须使用详细信息[1,0]来引用这些数组,我可以使用字符串来执行此操作吗?有什么帮助吗?

2 个答案:

答案 0 :(得分:4)

你想要一个对象,而不是一个数组:

var detail = {};
detail['Big Trailer'] = {};
detail['Big Trailer']['Bill'] = 'driving to London';
detail['Big Trailer']['John'] = 'driving to Scotland';

alert(detail['Big Trailer']['John']); // driving to Scotland

答案 1 :(得分:4)

首先,数组是纯数字索引。但是,由于数组是一种Object,因此可以通过字符串为其指定属性。

但是,上面示例的问题(假设缺少'是一个错字)是键是区分大小写的。如果您在一个地方输入'John',则必须在其他地方输入'John'