Вопрос по синтаксису Java Script. Как правильно формировать многомерный массив или объект?

Есть массив:

var dataArray = 
    {
        [0]:[{'table': 'table name 1', 'id': '1'}],
        [1]:[{'table': 'table name 2', 'id': '2'}],
        [2]:[{'table': 'table name 1', 'id': '3'}],
        [3]:[{'table': 'table name 1', 'id': '4'}],
        [4]:[{'table': 'table name 2', 'id': '5'}]
    };

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

Вопрос, как добавить к такому массиву еще одну запись? Пробую добавить через метод push(), но не понимание синтаксиса ставит в тупик. Пример добавления еще одной строки

dataArray.push({[]:[{'table': 'table name 3', 'id': '6'}]});

В общем пожалуйста, подскажите, как правильно организовать такой массив и как добавить к нему запись?


Ответы (2 шт):

Автор решения: Solt

Как-то так. индексы у массива не пишут, они и так 0,1,2... а ключи объекта можно в кавычках, а можно просто:

var dataArray = [
{table: 'table name 1', 'id': '1', arr:[1,2,3]},
{table: 'table name 2', 'id': '2', arr:[1,2,3]},
{table: 'table name 1', 'id': '3', arr:[1,2,3]},
{table: 'table name 1', 'id': '4', arr:[1,2,3]},
{table: 'table name 2', 'id': '5', arr:[1,2,3]}
];

console.log(dataArray)

введите сюда код
→ Ссылка
Автор решения: Роман Альварес

Друзья, большое вам спасибо за помощь! Как я и думал - причина в моем не понимании синтаксиса. Все заработало!

Для примера мой код:

var dataArray =
[
    {'table': 'table name 1', 'id': '1'},
    {'table': 'table name 0', 'id': '2'},
    {'table': 'table name 0', 'id': '12'},
    {'table': 'table name 1', 'id': '6'},
    {'table': 'table name 0', 'id': '11'},
]

dataArray.push({'table': 'table name 2', 'id': '18'});

console.log(dataArray);

$.each(dataArray, function(index, value)
{
    if(value.table == 'table name 1')
    {
        console.log(index + ' - ' + value.table + ', ' + value.id);
    }
});
→ Ссылка