所以我想创建一个对象(更像是地方),在我正在使用的谷歌地图插件中使用。我需要做的是创建数组“places”,我需要能够放置将使用jscript处理的所有属性,这是通过我从其他地方获取的JSON完成的,这是有效但填充阵列似乎是不可能的任务。事实是,我似乎无法创建数组,它只是搞乱一切,没有任何东西显示。
var places = [];
$.getJSON(url,function(data){
$.each(data.lugar, function(i,user){
places.push([user.latt.value, user.lng.value, user.nombre.value, user.direccion.value]);
alert("Se añadio "+user.nombre);
});
});
我正在尝试做一个假人只是为了看它是否适用于简单的FOR,但是它不起作用。
var places[];
for(var x= 0; x<10; x++){
places[x] = {
autoShow: true,
lat: 53.79+x,
lng:-1.5426760000000286+x,
name: "Somewhere "+x
}
}
我不知道我错过了什么。正常的电话应该是:
var places = [
{
canEdit: true,
lat: 53.798823,
lng:-1.5426760000000286,
},
{
canEdit: true,
lat: 53.79,
lng: -1.59,
name: "Somewhere",
street: "Over the rainbow, Up high way",
userData: 99
}
];
答案 0 :(得分:1)
您不正确地创建了数组变量:var places[];
不是声明数组变量的正确方法,正确的语法应该是var places = [];
。 Mozilla开发者网络article on Arrays提供了有关数组及其在Javascript中的使用的更多信息。
答案 1 :(得分:1)
我建议尝试使用$ .map(为此类做的),就像这样:
var places = $.map(data.lugar, function(i,user){
return [user.latt.value, user.lng.value, user.nombre.value, user.direccion.value];
// Do not check results on the UI thread here.
});
// check the results in on the UI thread here.