这个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没有数据ex
10000
。您可以在我的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]);
            }
        });