Правило литерального имени объекта Javascript - PullRequest
1 голос
/ 01 февраля 2012

Я хотел бы использовать точечную нотацию в буквальном имени объекта, но IE возвращает ошибку: «Ожидается»: «» в строке 16 после частичного выражения «my» (3-е снизу). Должен быть способ сделать что-то подобное. Почему это возвращает ошибку?

<script language="javascript">
var my = {};
my.dataGridColumns = [];
var tmpArr = [];    
var columnData = [];

columnData.push("a");

my.dataGridColumns.push({
    id: 1,
    name: test
});

tmpArr.push({
    my.dataGridColumns[0].name: columnData[0]
});
</script>

1 Ответ

3 голосов
/ 01 февраля 2012

В JavaScript вы можете обрабатывать объект как ассоциативный массив, используя []. Вы можете воспользоваться этим для динамического доступа к именам свойств.

Как насчет:

var obj = { };
obj[my.dataGridColumns[0].name] = columnData[0];

tmpArr.push(obj);
...