2015-05-10 4 views
2

Я не профессионал с javascript или массивами, поэтому есть хороший шанс, я не задаю правильный вопрос или использую правильную терминологию. В любом случае, вот что я пытаюсь сделать.Javascript Хранение нескольких объектов данных в массиве

Использование PHP Я могу захватить данные из googles places API. Как только у меня есть все данные из моего PHP-кода, я хочу поместить эти данные в массив javascript. Допустим, я получил 5 мест из API googles. Мне нужно было бы 5 записей в массиве и каждая запись с именем, адресом, lat, lng.

Я попытался использовать этот код для создания массива, но он не создает 5 записей в массиве, он создает 1 запись в массиве для каждого объекта данных.

var data = []; 
      data.push({name:"BotanaCare"}, {lat:"39.904374"}, {lng:"-104.990527"}, {address:"11450 Cherokee Street A7, Northglenn"}); 
      data.push({name:"The Green Solution"}, {lat:"39.901838"}, {lng:"-104.979542"}, {address:"Malley Heights, 470 Malley Drive, Northglenn"}); 
      data.push({name:"Doc's Apothecary"}, {lat:"39.897978"}, {lng:"-104.963226"}, {address:"2100 East 112th Avenue, Northglenn"}); 
      data.push({name:"Emerald City"}, {lat:"39.789952"}, {lng:"-105.025937"}, {address:"5115 Federal Boulevard, Denver"}); 
      data.push({name:"La Conte's Clone Bar and Dispensary"}, {lat:"39.790864"}, {lng:"-104.977946"}, {address:"5194 Washington Street, Denver"}); 

После того, как у меня есть данные в собственном яваскрипта массива я будет работать немного больше коды, чтобы случайно выбрать «Google место» из этого массива, но для каждых случайно выбрал «место» я нужен адрес, латы, долго, и имя.

Надеюсь, кто-то может указать мне в правильном направлении. Благодарю.

ответ

4
data.push({name:"BotanaCare"}, {lat:"39.904374"}, {lng:"-104.990527"}, {address:"11450 Cherokee Street A7, Northglenn"}); 

создает и добавляет к массиву четыре объекта. Каждый аргумент, который вы передаете .push, добавляется как отдельный элемент в массив. Это эквивалентно

data.push({name:"BotanaCare"}); // object with only property name 
data.push({lat:"39.904374"}); // object with only property lat 
// ... 

Если вы хотите нажать один объект, то вы должны создать один объект (я изменил форматирование, чтобы сделать его более удобным для чтения):

data.push({ // object with properties name, lat, lng and address 
    name:"BotanaCare", 
    lat:"39.904374", 
    lng:"-104.990527", 
    address:"11450 Cherokee Street A7, Northglenn" 
}); 

взглянуть на MDN documentation to learn more about objects.

+0

Спасибо, это решило мою проблему! – user3928082

Смежные вопросы