2016-06-13 4 views
0

데이터 배열에서 연속적인 음수 값의 수를 계산하기 위해 맞춤 스크립트를 사용하려고합니다.Google 스프레드 시트 자바 스크립트 - 연속 음수를 계산합니다.

6 행에서 다음 오류가 발생합니다. 데이터 열을 어떻게 반복합니까?

"TypeError : 속성"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

"속성을 읽을 수 없습니다."0 "undefined에서"는 일부 i에 대한 data [i]가 정의되지 않았 음을 의미합니다. 최악의 경우 일 수 있습니다. – iHowell

답변

2

"정의로부터"데이터를 의미 0 "속성을 판독 할 수 없다"는 [I 몇몇 I에 대해 정의되지 않는다. 원래 나는 그것이 최악의 경우일지도 모른다고 생각했지만 data[i]을 반복하는 대신 data[j][i]에 대한 색인을 사용하고있는 것을 보았습니다. 그래서 여분의 색인을 얻을 수 있습니다. 이 줄을 변경 :

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

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

에 이것은 당신이 데이터를 반복하게됩니다. 한 조각 씩 갈 필요가 있다면 중첩 된 for 루프를 대신 설정하십시오.

관련 문제