2013-02-18 61 views
0

我有以下位如果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],我能做些什麼這跟弦?請幫忙嗎?

+0

你真的嘗試過嗎?由於*會起作用,除了「Alert」行上的區分大小寫和語法問題外。好吧,也許一個「香草對象」更適合於一個地圖,但一個數組像其他對象一樣工作(有一些特殊的屬性)。 – 2013-02-18 18:34:58

+0

您正在給'['John']'寫信,但正在閱讀'['john']'。 JavaScript區分大小寫。 – 2013-02-18 18:34:58

+0

謝謝,我修改了代碼它的一切都很好,之前的錯別字我確定它沒有工作,但一切都很好 – Mick 2013-02-18 18:41:30

回答

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 
4

一方面,數組是純粹的數字指標。但是,由於數組是一種對象,因此可以通過字符串爲其分配屬性。

但是,上面的示例中的問題(假設缺少'是一個錯字)是鍵是區分大小寫的。如果您在一個地方輸入'John',則必須在其他地方輸入'John'

+0

同意。 「約翰」和「約翰」是同一個對象的完全不同的屬性。 – 2013-02-18 18:37:06