2011-07-04 158 views
1

我有一個問題與JavaScript陣列: 「arrFinal [i]是未定義」Javascript數組未定義在for循環

在我的腳本arrFinal是動態生成

function fillTextareas() { 
var arrFinal = []; 
arrFinal[0] = []; 

.... 
.... 
// Then some code that define the content of arrFinal, the length of arrFinal (tailleArrFinal, tailleArrSubFinal) 
.... 
.... 


for(i=0;i<=tailleArrFinal;i++){ 
     for(j=0;j<tailleArrSubFinal;j++) { 
      $("form textarea#t" + i + "_" + j).val(arrFinal[i][j]); 
     } 
    } 
} 

當調用該函數時,轉儲告訴我,數組arrFinal正確填充和腳本工作,但我有一個警告「arrFinal [i]是未定義的」。我怎麼能沒有警報呢? 謝謝!

+0

哪裏是提醒您在呼喚......? –

回答

3

它看起來像外環中的一個錯誤的錯誤。

它應該是i < tailleArrFinal而不是<=

1

通過看你的循環,我可以看到至少2個錯誤:你錯過了「VAR」和「。長度」(你要測試數組的長度!)

試圖取代:

for(i=0;i<=tailleArrFinal;i++){ 
     for(j=0;j<tailleArrSubFinal;j++) { 
      $("form textarea#t" + i + "_" + j).val(arrFinal[i][j]); 
     } 
    } 
} 

有:

for(var i=0;i<tailleArrFinal.length;i++){ 
     for(var j=0; j<tailleArrSubFinal.length; j++) { 
      $("form textarea#t" + i + "_" + j).val(arrFinal[i][j]); 
     } 
    } 
}