我正在尝试使用自定义脚本来计算数据数组中连续负值的数量。
我在第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 :(得分: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循环。