2012-03-02 113 views
5

我在我的Javascript以下ENUM:使用枚舉在Javascript中

var letters = { "A": 1, "B": 2, "C": 3.....} 

,並使用這個我知道使用方法:

letters.A 

但我不知道是否有一種方法,我可以用變量替換A.我試過類似

var input = "B"; 

letters.input; 

但這不起作用。

有什麼建議嗎?

感謝

+0

爲什麼你會期望'letters.input'意味着什麼,當你從來沒有首先定義'letters.input'? – 2012-03-02 06:09:23

+0

@AdamMhahalcin字母是枚舉,輸入替換第一行中的硬編碼A。 – user1219627 2012-03-02 06:11:50

回答

11

可以使用Bracket Notation Member Operator

letters[input]; 

它需要一個字符串,那麼letters.B == letters["B"],並且:

var letters = { "A": 1, "B": 2, "C": 3 }, 
    input = "B"; 
console.log(letters[input]); 

輸出2

+0

美正是我在尋找的感謝! – user1219627 2012-03-02 06:15:11

+0

@ user1219627不客氣 – Paulpro 2012-03-02 06:17:09

+0

@ row1我還不能......時間限制 – user1219627 2012-03-02 06:20:06