2012-03-02 17 views
5

Mam następujący ENUM w moim javascript:Korzystanie wyliczenia w JavaScript

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

i używania tego wiem użyć:

letters.A 

ale zastanawiałem się, czy istnieje sposób, że mogę zamień A na zmienną. Próbowałem coś takiego jak

var input = "B"; 

letters.input; 

ale to nie działa.

Wszelkie sugestie?

Dzięki

+0

Dlaczego spodziewałbyś się, że 'letters.input' coś znaczy, kiedy nigdy nie zdefiniowałeś' letters.input'? –

+0

Litery @AdamMihalcin to wyliczenie, a dane wejściowe zastępują kod A w pierwszej linii. – user1219627

Odpowiedz

11

Można użyć Bracket Notation Member Operator:

letters[input]; 

Oczekuje ciąg, więc letters.B == letters["B"] oraz:

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

wyjść 2.

+0

Piękno dokładnie to, czego szukałem dzięki! – user1219627

+0

@ user1219627 Nie ma za co – Paulpro

+0

@ row1 Nie mogę jeszcze ... Limit czasu – user1219627