Форум 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=98328)

Olowokandi 11.07.2007 17:34

Двухмерный массив
 
Извените за очень ламерский вопрос, но по хелпу флеша я понял, что чтобы задать двухмерный массив нужно описать все элементы, это так?

Хотелось бы как в РНР [1..20] в таком духе, подскажите если это реально то как задать 2Д массив 10 на 20?

BigDan 11.07.2007 17:48

Код:

var arr:Array = [[],[],[],[],[],[]]

iNils 11.07.2007 17:54

Код:

function createArray2d (size:Number):Array {
        var array:Array = new Array ();
        for (var i:Number = 0; i < size; i++) {
                array.push ([]);
        }
        return array;
}
var array:Array = createArray2d (10);
trace (array)

Задавать вторую размерность не надо, флеш динамически меняет размер массива.

Olowokandi 11.07.2007 18:41

OK, Спасибо, и еще вопрос а как его обнулить весь? только циклом, функции не существует?

iNils 11.07.2007 18:44

Перед забивкой данных, сделать его пустую копию, а потом обратно присвоить. Только не просто присвоить, иначе это будет ссылка на массив, а с помощью concat
Код:

//// делаем пустую копию
copy = source.concat ();
...
//// тут заполняем массив source
...
//// обнуляем
source = copy.concat ();


Olowokandi 11.07.2007 19:07

Еще раз спасибо

CrazyFlasher 12.07.2007 01:55

кстати, если делать копию массива таким способом:

Код:

arr = [1,2,3];
var tempStr:String = arr.toString();
var newArr:Array = new Array();
newArr = tempStr.split(",");

Эта операция намного медленнее?

iNils 12.07.2007 03:07

Медленнее в 2,5 раза

Ведьмак 12.07.2007 15:02

2 iNils: что-то ничерта не понял в коде (3 пост)... как нам обращаться к конкретному элементу массива? например к (1,9) ? попробовал - ничего не получается...

iNils 12.07.2007 15:07

array[1][9]

Ведьмак 12.07.2007 15:39

клева...


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

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