在for循环中未定义Javascript数组

时间:2011-07-04 12:25:26

标签: javascript arrays loops undefined

我的javascript数组有问题:“arrFinal [i]未定义”

在我的脚本中,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]未定义”。如果没有警报我怎么能这样做? 谢谢!!

2 个答案:

答案 0 :(得分:3)

它看起来像是外循环中的一个错误。

应该是i < tailleArrFinal,而不是<=

答案 1 :(得分: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]);
        }
    }
}