2011-07-04 123 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]); 
     } 
    } 
}