2D数组出错 - 错误#1010:术语未定义且没有属性

时间:2012-02-15 21:30:48

标签: arrays actionscript-3 loops

前两个循环设置文本字段就好了。但接下来的2给我错误错误#1010:一个术语未定义且没有属性。有些东西是NULL,但是什么?无法弄清楚:(

import flash.text.TextField;

var suallar:Array = new Array();
var cavablar_temp:Array = new Array();

var i:int;
var j:int;

suallar.push(["sual1", "duz1", "sehv11", "sevh12", "sevh13","sevh14"]);
suallar.push(["sual2", "duz2", "sehv21", "sevh22","sevh23","sevh24" ]);
suallar.push(["sual3", "duz3", "sehv31", "sevh32","sevh33","sevh34"]);
suallar.push(["sual4", "duz4", "sehv41", "sevh42","sevh43","sevh44"]);
suallar.push(["sual5", "duz5", "sehv51", "sevh52","sevh53","sevh54"]);

var sualYeri:Array = new Array();
for (i=0; i<suallar.length; i++)
{
    sualYeri[i] = new TextField();
}




for (i=0; i<suallar.length; i++)
{
    sualYeri[i].text = suallar[i][0];

    sualYeri[i].x = 0;
    sualYeri[i].y = 50 * i;
    addChild(sualYeri[i]);
}

trace(sualYeri.join("\n"));
trace(suallar.join("\n"));

最后2个循环,不起作用从这里开始

var cavabYeri:Array = new Array();

for (i=0; i<suallar.length; i++)
{
    for (j=0; j<suallar.length; j++)
    {
        cavabYeri[i][j] = new TextField();

    }
}
trace(cavabYeri.join("\n"));



for (i=0; i<suallar.length; i++)
{
    for (j=0; j<suallar[i].length; j++)
    {
        cavabYeri[i][j].text = suallar[i][j];

        cavabYeri[i][j].x = 0 + 100 * j;
        cavabYeri[i][j].y = 0 + 100 * i;
        addChild(cavabYeri[i][j]);
    }

}

2 个答案:

答案 0 :(得分:2)

问题是您初始化了cavabYeri数组,但没有初始化它的子数组。

for (i=0; i<suallar.length; i++)
{
    cavabYeri[i] = []; // or new Array();
    for (j=0; j<suallar.length; j++)
    {
        cavabYeri[i][j] = new TextField();
    }
}

答案 1 :(得分:2)

您遇到与this question that I've answered中存在的完全相同的问题。

如果没有先在array[i][j]创建数组,则无法立即为array[i]分配值。