Google表格Javascript - 计算连续的负数

时间:2016-06-13 14:56:07

标签: javascript google-sheets

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

我在第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;

}

1 个答案:

答案 0 :(得分:2)

&#34;无法读取属性&#34; 0&#34;来自undefined&#34;表示某些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循环。