Создание массивов

Массивы являются объектами класса Array. Поэтому создать их, как и объекты любых других классов, можно, используя функцию-конструктор и ключевое слово new:

var arr:Array=new Array[]; // Код создает пустой массив

Особенностью функции Аггау() является то, что она возвращает массив, даже если оператор new и не был задействован. По этой причине в словаре ActionScript она отнесена к функциями преобразования типа данных, хотя таковой реально не является.

var arr:Array=Array[); // Ключевое слово new не используется
trace(arr instanceof Array}; // Выводит: true (arr является объектом
// класса Array)

Если элементы массива известны в момент его создания и число их невелико, то они могут быть прописаны в качестве параметров конструктора Аггау(). Последовательность их задания будет сохранена. Например:

var arr:Array=new Array(1,2,3,4,5);
trace(arr); // Выводит: 1, 2, 3, 4, 5

Так как оператор «,» обладает самым низким приоритетом среди операторов ActionScript, то параметром конструктора Аггау() может быть целое выражение: оно вычислится до того, как интерпретатор перейдет к рассмотрению следующего аргумента.

Число элементов массива практически не ограничено.


Максимальное их количество составляет 4 294 967 296 (232). Вряд ли можно придумать задачу, в которой лимит на число элементов массива оказался бы превышен, Да и такие ограничители, как предельное время выполнения кода и объем отведенной оперативной памяти, не позволят вам достичь даже сотой части из возможных четырех миллиардов элементов.

Конструктор Аггау() имеет и альтернативный описанному выше синтаксис. Если в качестве параметра ему передано только одно целое положительное число N, то он создает массив из N пустых элементов (реально элементы созданы не будут — просто произойдет присваивание свойству length массива значения N):

var arr:Array=new Array(5);
trace (arr); // Выводит: undefined,undefined,undefined,undefined,undefined

To, что конструктор Аггау() имеет два варианта задания параметров, означает, что вы не можете создать массив с единственным элементом, если он является числом. Чтобы это сделать, нужно использовать литерал массива или же задать значение элемента отдельно от объявления массива.

На практике массивы редко создаются при помоши конструктора Аггау(). Гораздо чаще для этого используются литералы массивов, формируемые при помощи специального инициализатора «[]».

Список элементов в этом случае должен быть прописан внутри квадратных скобок точно так же, как и при создании массива с использованием конструктора Аrrау().


Например:

var arr:Array=[l,2,3,4,5]; // Создаем литерал массива
tracetarr instanceof Array); // Выводит: true (arr действительно является
// объектом класса Array)
trace(arr); // Выводит: 1, 2, 3, 4, 5

В отличие от конструктора Аrrау(), если в литерале массива имеется только один элемент и он является числом, то массив из пустых элементов соответствующей ему длины создан не будет:

trace([5]); // Выводит: 5

В качестве элементов списка внутри литерала массива могут использоваться не только литералы и идентификаторы, но и любые выражения. При формировании массива они будут автоматически вычислены:

var arr:Array=[2*2, Math.random(), "При"+"вет"];
trace(arr); // Выводит: 4, 0.764446393121034, Привет

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Action Script на эту тему:
Выделение фрагмента массива
Длина массива. Свойство length
Добавление элементов в массив
Извлечение и переопределение элементов массива
Инверсия массива

Вернуться в раздел: Action Script / 7. Массивы (класс Array)