2016-06-13 30 views
0

我正在尝试使用自定义脚本来计算数据数组中连续负值的数量。Google表格Javascript - 连续计数负数

我在第6行收到以下错误。如何循环访问一列数据?

“TypeError:无法从undefined读取属性”0“。

function MaxNegSequence(data) { 

    var lCounter = 0; 
    var lMaxCount = 0; 

    for (var i = 0; i < data[i][0].length; i++) { 

    if (data[i][0] < 0) { 
    lCounter++; 
    if (lCounter > lMaxCount) { 
     lMaxCount = lCounter; 
    } 
    else { 
     lCounter = 0; 
    } 
    } 
} 

return lMaxCount; 

}

+0

“无法从undefined读取属性”0“意味着某些i的数据[i]未定义。可能是一个边缘案例。 – iHowell

回答

2

“无法读取属性 ”0“ 从不确定的” 是指数据[I]对于一些i是未定义的。本来我认为这可能是一个边缘情况,但后来我看到你使用的索引为data[j][i],而不是迭代data[i],所以你会得到额外的索引。改变这一行:

for (var i = 0; i < data[i][0].length; i++) { 

for (var i = 0; i < data.length; i++) { 

这将让你遍历数据。如果你需要一块一块去做,那就设置一个嵌套的for循环。