用于循环继续超出条件的JavaScript

用于循环继续超出条件的JavaScript,javascript,Javascript,我有一个函数,它接受一个坐标数组,并创建一条路径,供GoogleMapsAPI使用。工作得很好,但突然间它似乎决定继续循环超出条件,我不知道该做什么或为什么这样做。我已经看了一遍又一遍,它看起来对我来说是正确的,所以Idk parseCoordinates = function ( coordinates) { var paths = []; for (var i = 0, coordinate = null; coordinate = coordinates[i],

我有一个函数,它接受一个坐标数组,并创建一条路径,供GoogleMapsAPI使用。工作得很好,但突然间它似乎决定继续循环超出条件,我不知道该做什么或为什么这样做。我已经看了一遍又一遍,它看起来对我来说是正确的,所以Idk

parseCoordinates = function (
    coordinates) {
    var paths = [];

    for (var i = 0, coordinate = null; coordinate = coordinates[i], i < coordinates.length; i++) {
        console.log(i);

        paths.push(new google.maps.LatLng(coordinate.latitude, coordinate.longitude));
    }

    return paths;
},
parseCoordinates=函数(
坐标){
var路径=[];
对于(变量i=0,坐标=null;坐标=coordinates[i],i

在测试用例中,我使用的坐标数组有七个元素,当我将
I
输出到控制台时,它从零开始,达到六个,然后决定在这之后继续,最终导致空引用错误。有人能告诉我发生了什么事吗?提前谢谢

在检查
i
之前,先设置
coordinate=coordinates[i]
。结果表明,我的JSON数据在末尾包含两个null
坐标
对象,这就是它试图循环它们时抛出错误的原因。在使用for循环之前,我只需要做一个空检查,这就是我在其他地方所做的,我使用for循环,这可能就是我没有出错的原因。很抱歉浪费大家的时间。

知道是什么导致了空引用错误吗?他正在设置
坐标=坐标[7]
,尽管
坐标[7]
没有定义。有些地方仍然感觉不对劲。我还有其他遵循相同模式的for循环,它们工作正常,例如:
(var I=0,lead=null;lead=data.leads[I],I
<代码>(var i=0,job=null;job=data.jobs[i],i<代码>(var i=0,vehicle=null;vehicle=data.vehicles[i],i。为什么这些能起作用,但上面的那一个不行?还是说,这些未来也会崩溃?我应该翻转条件和赋值的位置吗?这将
坐标设置为
未定义,但不会引发任何错误请提供一个显示问题的示例输入。