Ошибка с 2D-массивом - Ошибка # 1010: термин не определен и не имеет свойств - PullRequest
0 голосов
/ 16 февраля 2012

Первые 2 цикла отлично устанавливают текстовые поля.Но следующие 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 ]

2 голосов
/ 16 февраля 2012

У вас точно такая же проблема, как и в на этот вопрос, на который я ответил .

Вы не можете сразу присвоить значения array[i][j] без предварительного создания массива в array[i].

2 голосов
/ 16 февраля 2012

Проблема в том, что вы инициализировали массив 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();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...