PDA

Просмотр полной версии : Динамическое создание ячеек массива


Сникерс
09.10.2009, 13:02
Я собрался создать ячейки для существующих массивов при помощи цикла, только ячейки не создаются. Похоже, что создаются только временные переменные, которые удаляются после каждой итерации.

var name1:Array = new Array();
var name2:Array = new Array();
...
var name30:Array = new Array();
for (var i = 0, d = 1; d<31; i++) {
this["name"+d][i] = 1;
if (i == 8) {
i = -1;
d++;
}
}

Разве я неправильно использовал

this[]

, чтобы превратить строку в идентификатор?

Juice_Green
09.10.2009, 13:25
неправильно, в данном случае this ссылается на клип в котором находится код, в вашем случае скорей всего на _root.

и вложите все ваши name массивы в один массив, проще будет их инициализировать

Сникерс
09.10.2009, 13:29
Как мне сослаться на

_root

, Juice Green?

amesqit
09.10.2009, 13:50
что-то у вас все как-то запутанно сильно) и не понятно использование массивов name, лучше использовать двумерный массив


var ar_name:Array = new Array();
var i:Number;
var j:Number;
for (i = 0; i<31; i++) {
ar_name[i] = new Array();
for (j = 0; j<9; j++)
{
ar_name[i][j] = j;// Ну или как у вас вместо j, 1
}
trace(ar_name[i]) //выведет строчку 0,1,2,3,4,5,6,7,8
}

никаких ссылок this и тем более на _root в данном случае, по-моему, использовать не стоит