Вопрос по синтаксису 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 шт):
Как-то так. индексы у массива не пишут, они и так 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);
}
});