2011-07-04 16 views
1

ためで未定義:関数が呼び出されると私のスクリプトarrFinalで「arrFinal [i]が定義されていません」Javascript配列は、私はjavascript配列に問題があるループ

を動的に

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] undefined"が表示されます。どのように私は警告なしでそれを行うことができますか? ありがとうございます!

+0

どこに呼び出しているというアラートが...ですか? –

答えて

3

外側のループではオフに1つのエラーのようです。

i < tailleArrFinalである必要があります。<=ではありません。

1

あなたのループを見ることによって、私は、少なくとも2つのエラーを表示することができます(!あなたは、配列の長さをテストする必要がある)あなたは「VAR」と「.LENGTH」を欠場交換する

してみてください。

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]); 
     } 
    } 
}