Краткий ответ: Я считаю, что синтаксис, который вы ищете, таков:
obj[myarray[0]] = 1.00;
Предполагается, что у вас есть массив myarray
, а первый элемент в массиве (индекс 0) имеет имя ключа, который вы хотите использовать с вашим obj
объектом.
Обратите внимание, что = 1.00
является присваиванием , поэтому оно сохранит это значение в вашем объекте. Для сравнения вам понадобятся операторы ==
или ===
.
Длинный ответ:
Код из вашего вопроса:
obj = {
val1: 1.00, val2: 2.00}
создает объект с именем obj
с двумя свойствами с именами val1
и val2
. Эти свойства могут быть доступны следующим образом:
obj["val1"]
// OR
obj.val1
Где точечный синтаксис работает только с именами свойств, которые соответствуют правилам для имен идентификаторов JavaScript. С помощью синтаксиса скобок и строк вы можете использовать практически любую строку в качестве имени свойства.
Тогда
myarray = ["val1"]
Создает массив с одним элементом, строкой "val1". Как и в моем «коротком ответе», для доступа к свойству объекта с помощью элемента из массива вы говорите:
obj[ myarray[0] ]
(где индекс 0 может быть другой переменной, если необходимо.)
Возможно, вы захотите прочитать это: https://developer.mozilla.org/en/JavaScript/Guide/Working_with_Objects (Также обратите внимание, что в массивах JavaScript это особый тип объекта, предназначенный для использования с числовыми индексами, который на самом деле не соответствует непосредственно «ассоциативным массивам» другие языки - «простой» объект JS ближе к «ассоциативному массиву».)
Обратите внимание, что значения, которые вы сохраняете, 1.00
и 2.00
, будучи числовыми, будут возвращаться как просто 1
и 2
- если вам нужно сохранить конечные нули после десятичной запятой, вы нужно хранить их как строки.