2013-03-05 2 views
2

Этот код, очевидно, не работает в JavaScript, но как это сделать в JS?Установка значения ключа массива в JavaScript

Это должно быть очевидно из кода, но мне нужно назначить значение ключа массива (так что 'a', '5' и '8' в примере ниже) - к сожалению, мне нужно иметь письмо, поэтому 0 , 1, 2 и т. Д. Не годится.

Я видел что-то общее с объектами и 'a': 'op1', но он, похоже, не работает, я получаю такие ошибки, как «Неожиданный токен»: - Держу пари, это легко, когда вы секрет производства?

var options = new Array('a' => 'op1', '5' => 'op2', '8' => 'op3'); 

for(x in options) { 

    var value = options[x]; 

    alert("the key is " + value[0]); 

    alert("the value is " + value[1]); 

} 

JQuery или родной JS, в зависимости от того лучше нормально (я использую JQuery на этой странице, в любом случае)

ответ

3

Чтобы установить объект:

var options = { 'a' : 'op1', '5' : 'op2', '8' : 'op3' } 

В для-в цикле , ключ - x и значение - options[x], а не value[0] и value[1].

+0

Спасибо всем. Отличная помощь от всех, но это было первым, и это был тот, который я прочитал, который сразу решил проблему. Знать было легко, когда вы знаете, как это сделать. Еще раз спасибо. – user2026796222222222

2

Это JavaScript объект буквальное обозначение:

var options = { 
"a": "op1", 
"5": "op2", 
"8": "op3" 
}; 

Вы также должны знать, что порядок ключей не гарантируется, если вам нужен заказ, чтобы быть конкретным, вы должны держать ключи в массиве и итерацию по что. Кроме того, если вы итерации через объект, вы можете захотеть убедиться, что вы обращаетесь к свойствам текущего объекта, или вы проходите цепочку прототипов.

+0

@ Dennis - правда, мое плохое. Починил это. –

1
var options = {'a':'op1', '5':'op2', '8':'op3'}; 

for (var x in options) { 
    alert("the key is " + x); 
    alert("the value is " + options[x]); 
} 
Смежные вопросы