var arr = []
arr[0] = { "itemA": "A", "itemB": "B", "itemC": "C" }
arr[1] = { "itemA": "A", "itemB": "B", "itemC": "C" }
Я думаю, что вы пытаетесь применить статические языковые конструкции к динамическому и другому миру Javascript. В Javascript на самом деле нет понятия «массивы» в том смысле, как это делают многие языки.
В Javascript массив - это просто особый вид объекта (сам по себе просто хеш), который имеет специальное свойство длины. Целочисленные «индексы», которые вы видите выше (т. Е. 0 в arr [0]), просто имеют поиск. Специальное свойство длины определено на единицу больше, чем ключ наибольшего целого числа. В моем примере выше, arr.length равен 2. Но если бы я назначил:
arr[100] = { "itemA": "A", "itemB": "B", "itemC": "C" }
Тогда arr.length будет 101, хотя я ничего не сделал, чтобы присвоить любому из элементов от 2 до 99.
Точно так же мы обычно не предопределяем объекты, такие как структуры, в Javascript, и, таким образом, анонимные объекты будут в значительной степени выполнять то, что вы хотите (или использовать задокументированную фабричную функцию, как в примере от Кена).
"new Array ()" не является обязательным, поскольку сжато "var a = [];" Синтаксис быстрее. :)