2015-06-04 69 views
0

我想知道是否有可能(和正確)構造一個與其他數組關聯的命名索引數組。jquery/javascript命名索引數組與數組關聯

例如,

var signOptionSet = []; 
 
signOptionSet['basic'] = ['Sign Width', 'Sign Height', 'Sign Depth', 'Base Material', 'Finish']; 
 
signOptionSet['advanced'] = ['Area', 'Perimeter', 'Lighting'];

我將如何訪問signOptionSet像 '註冊身高'[ '基本']?

回答

3

我想知道,如果可能的...

是的,雖然方式你正在使用它,你不想要一個數組,你只需要一個對象({})(見下文) 。

...(和正確)...

有人會說,使用陣列,然後加入非索引屬性,以它是不正確的。沒有什麼在技術上錯了,只要你明白某些東西(如JSON.stringify)將不會看到這些非索引屬性。

如何訪問signOptionSet ['basic']中的'Sign Height'?

這是第二個條目,所以指數1,數組的你分配給signOptionSet['basic'],所以:

var x = signOptionSet['basic'][1]; 

var x = signOptionSet.basic[1]; 

使用對象,並使用屬性名稱文字,因爲這裏不需要字符串,看起來像這樣:

var signOptionSet = { 
    basic: ['Sign Width', 'Sign Height', 'Sign Depth', 'Base Material', 'Finish'], 
    advanced: ['Area', 'Perimeter', 'Lighting'] 
}; 

可以使用字符串,不過,如果你喜歡:

var signOptionSet = { 
    "basic": ['Sign Width', 'Sign Height', 'Sign Depth', 'Base Material', 'Finish'], 
    "advanced": ['Area', 'Perimeter', 'Lighting'] 
}; 

兩個單引號和雙引號是有效的在JavaScript(單引號不會在JSON,但這不是JSON ,這是JavaScript):

var signOptionSet = { 
    'basic': ['Sign Width', 'Sign Height', 'Sign Depth', 'Base Material', 'Finish'], 
    'advanced': ['Area', 'Perimeter', 'Lighting'] 
}; 
0

您訪問值'註冊身高'

alert(signOptionSet['basic'][1]) // 'Sign Height' 

Fiddle

+0

這工作,但克勞德的答案是更完整的我的查詢。 – Matthew6

+0

@ Matthew6他的回答正是你應該尋求理解去解決你的麻煩。 :) – Swanidhi