这个javascript代码有什么问题
请参阅代码。 谢谢大家的帮助。非常感谢您的宝贵反馈。但这没用。我真的很感谢你这个javascript代码有什么问题,javascript,json,openstreetmap,Javascript,Json,Openstreetmap,请参阅代码。 谢谢大家的帮助。非常感谢您的宝贵反馈。但这没用。我真的很感谢你 $.get("http://nominatim.openstreetmap.org/search?q=pekin,+china&format=json&polygon=1&addressdetails=1").done(function(data) { var aJsonData = new Array(); var iBiggest = 0
$.get("http://nominatim.openstreetmap.org/search?q=pekin,+china&format=json&polygon=1&addressdetails=1").done(function(data)
{
var aJsonData = new Array();
var iBiggest = 0;
aJsonData = JSON.parse(data);
aData = aJsonData;
for(var i=0; i < aData.length; i++)
{
if(i != 0)
{
if((aData[i].polygonpoints.length) > (aData[iBiggest].polygonpoints.length))
{
iBiggest = i;
}
}
}
alert(iBiggest);
for(var j=0; j < aData[iBiggest].polygonpoints.length; j++)
{
//alert(aData[iBiggest].polygonpoints[j]);
}
});
$.get(”http://nominatim.openstreetmap.org/search?q=pekin,+china&format=json&polygon=1&addressdetails=1”)。完成(函数(数据)
{
var aJsonData=新数组();
var-iBiggest=0;
aJsonData=JSON.parse(数据);
aData=aJsonData;
对于(变量i=0;i(aData[iBiggest].polygonpoints.length))
{
iBiggest=i;
}
}
}
警报(iBiggest);
对于(var j=0;j
for循环错误,数组索引将从0开始到长度-1,因此
i(data[iBiggest].polygonpoints.length)){
iBiggest=i;
}
}
//这不起作用
警报(iBiggest);
对于(var j=0;j
演示:我解决了它
$.getJSON("http://nominatim.openstreetmap.org/search?q=pekin,+china&format=json&polygon=1&addressdetails=1", function(data)
{
var iBiggest = 0;
for(var i = 1; i < data.length; i++)
{
if(data[i].polygonpoints != 'undefined' && data[i].polygonpoints)
{
if((data[i].polygonpoints.length) > (data[iBiggest].polygonpoints.length))
{
iBiggest = i;
}
}
}
alert(iBiggest);
for(var j = 0; j < data[iBiggest].polygonpoints.length; j++)
{
alert(data[iBiggest].polygonpoints[j]);
}
});
$.getJSON(“http://nominatim.openstreetmap.org/search?q=pekin,+china&format=json&polygon=1&addressdetails=1“,函数(数据)
{
var-iBiggest=0;
对于(变量i=1;i(数据[iBiggest].polygonpoints.length))
{
iBiggest=i;
}
}
}
警报(iBiggest);
对于(var j=0;j
要么使用您编写的javascript代码,要么不会编译。它甚至在语法上都不正确。你能更正代码吗?@user2069036为什么不从(var i=1)的
开始呢?不管怎样,你是说如果你在循环中放置一个警报,它确实正确地显示了ibigest
?这个代码在语法上是否正确?请参见(var j=0;j
的最后一行。此外,请参见(var i=0;i)的循环[iBiggest].polygonpoints.length)
,对i
没有比较,i
没有增加Feigling@user2069036检查浏览器控制台以查看是否有errors@user2069036你也可以分享数据的值吗
@user2069036我的代码是对的,你的代码不起作用,因为ind没有数据ex10000
。您可以在我的fiddle@user2069036如果您想为iBiggest
设置一个更大的数字,请将其设置为var iBiggest=data.length-1;
@user2069036,它会给我一个提示,提示说0
$.getJSON("http://nominatim.openstreetmap.org/search?q=pekin,+china&format=json&polygon=1&addressdetails=1", function(data)
{
var iBiggest = 0;
for(var i = 1; i < data.length; i++)
{
if(data[i].polygonpoints != 'undefined' && data[i].polygonpoints)
{
if((data[i].polygonpoints.length) > (data[iBiggest].polygonpoints.length))
{
iBiggest = i;
}
}
}
alert(iBiggest);
for(var j = 0; j < data[iBiggest].polygonpoints.length; j++)
{
alert(data[iBiggest].polygonpoints[j]);
}
});