Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Объявление ста массивов по циклу (http://www.flasher.ru/forum/showthread.php?t=114613)

Charly84 04.08.2008 13:55

Объявление ста массивов по циклу
 
Здравствуйте, уважаемые форумцы.

Вчера возникла у меня необходимость создания ста массивов. Пришлось прописывать все вручную.

Код:

var obj_0:Array = Array();
var obj_1:Array = Array();
var obj_2:Array = Array();
var obj_3:Array = Array();
и так далее...

Так как имена массивов отличаются только циферкой в конце, то логично предположить, что создание массивов можно было пустить по циклу.

Тем более, если заранее неизвестно количество массивов. Цикл был бы очень кстати.

Вот я и хотел спросить у вас. Реально ли это? Создание массивов в цикле.

заранее всем спасибо

chingachgoog 04.08.2008 14:05

Код:

for (i=0; i<100; i++){
    link=this["obj_"+i]
    link=[]
}


fljot 04.08.2008 14:10

если условия позволяют, можно попробовать
Код:

for ...
    this["obj_" + i] = new Array();

но имхо удобнее для работы объвить массив-держать массивов и туда их складывать. потом и обращаться легко
Код:

var objects:Array = [];
var object:Array;

for ...
{
    object = [];
    //необходимое заполнение
    objects.push(object);
}


Charly84 04.08.2008 15:09

Цитата:

Сообщение от fljot (Сообщение 756175)
но имхо удобнее для работы объвить массив-держать массивов и туда их складывать. потом и обращаться легко
Код:

var objects:Array = [];
var object:Array;

for ...
{
    object = [];
    //необходимое заполнение
    objects.push(object);
}


Что-то не очень понял как будет работать код.. объясни "на пальцах" :)

fljot 04.08.2008 21:41

Charly84,

Код:

var objects:Array = [];
var object:Array;
var numObjects:Number = 10;

for (var i:Number = 0; i < numObjects; i++)
{
    object = [];

    object.push("something");
    object.push("that you need");
    object.push("to push");
    object.push("into that arrays");

    objects.push(object);
}

//доступ к 5ому массиву
//который вы в своём первом посте обозначили бы как var obj_5:Array = Array();
var fifthArr:Array = Array(objects[4]);
trace(fifthArr);


Charly84 05.08.2008 09:49

Ооо.... большое спасибо!


Часовой пояс GMT +4, время: 13:47.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.