Javascript在数组中存储多个数据对象

时间:2015-05-10 23:13:18

标签: javascript arrays

我不是javascript或数组的专家,所以很有可能我没有问正确的问题或使用正确的术语。无论如何,这是我想要做的。

使用PHP我可以从谷歌地方API中获取数据。一旦我获得了PHP代码中的所有数据,我就想将这些数据放入javascript数组中。让我说我从googles API得到5个位置我希望数组中有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"});

一旦我将数据放入正确的javascript数组中,我将运行更多代码从该数组中随机选择一个“google place”但是对于每个随机选择的“地点”,我需要地址,lat,long和name

希望有人可以指出我正确的方向。感谢。

1 个答案:

答案 0 :(得分: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