Книга ActionScript 3.0 - Оглавление

Глава1. Основы языка
Part1. Числовые типы данных (Number, int, unit)
Part1.1. Арифметические операции, объект Math
Part2. Логический тип данных Boolean
Part3. Строковый тип данных String
Part3.1. Класс String и его методы/свойства
Part3.2. Преобразование строки в число и обратно
Part4. Работа с массивами Array
>> Part4.1. Методы и свойства класса Array
Part4.2. Сортировка массива
Part4.3. Фильтрация массива
Part5. Работа с массивами Vector
Part6. Тип данных Object
Part6.1. Класс Object и преобразования типов
Part7. Передача данных по ссылке
Part8. Неопределенные значения NaN, null и undefined
Part9.1. Оператор выбора if-else
Part9.1.1 “? :” – альтернативная конструкция if-else
Part9.2. Оператор выбора switch - case
Part10.1. Оператор цикла for и for in
Part10.2. Операторы цикла while и do
Part11. Таймеры
Книга ActionScript 3.0


Ch1.Part4.1. Методы и свойства класса Array | Книга ActionScript 3.0

Создание массива с помощью оператора new Array

Если вы используете оператор new Array для создания нового массива, будьте внимательны, эта конструкция может работать по разному в зависимости от количества переданных параметров. Если вы передадите один параметр со значением 3 – то будет создан массив длина которого равна 3 и все элементы массива равны undefined:

Если же вы передадите в операторе new Array более одного элемента, то будет создан массив из этих элементов:

Свойства


length:uint – Длина массива (количество элементов)

Методы


concat(… args):Array – Указанные в методе элементы прицепляются в конец массива, и создается новый массив. Исходный массив при этом не меняется:

В методе concat в качестве параметров можно передавать как массивы, так и значения.


indexOf(searchElement:*, fromIndex:int = 0):int – ищет номер элемента в массиве. Если такого элемента в массиве нет, то значение возвращает -1.

Для сравнения элементов используется оператор строгого равенства (===) , а это значит что если например в массиве хранятся строки в виде чисел, и вы в методе indexOf передадите число, вы получите результат -1:


lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int – метод делает тоже что и indexOf, только поиск осуществляется с конца (слева на право).


join(sep:*):String – Создает строку из всех элементов массива, и все строки сцепляются в одну используя разделитель sep. Для преобразования элементов в строку, используется метод toString().

Разделителем может выступать любая строка:

В этом примере в качестве разделителя используется символ точка с запятой и перевод строки. Вот что мы увидим в результате:

Serious Sam;
Flash Press;
Unit1

Обратите внимание что после последней строки, символа ; нет. Это потому что разделитель ставится только между двумя строками.


map(callback:Function, thisObject:* = null):Array – Выполняется функция callback для каждого элемента массива. В результате создается новый массив. Рассмотрим подробно на примере, создадим массив чисел, и попробуем получить новый массив, который хранит квадраты указанных чисел:

Если вам не понятно как работают функции, не переживайте, мы разберем работу с функциями в следующем разделе.
Рассмотрим другой пример того как можно использовать метод map. Создадим массив имен, и получим новый массив в котором хранится информация о длине имен:


pop():* – Получить последний элемент массива. При этом элемент удаляется из исходного массива:


shift():* – Получить первый элемент массива. При этом элемент удаляется из исходного массива:


push(… args):uint – Добавляет в конец массива новый элемент и возвращает новую длину массива.

Методу push можно передавать любое количество элементов через запятую:


unshift(… args):uint – делает тоже самое что и метод push, только элементы добавляется не в конец, а начало строки.


reverse():Array – Создает обратный массив. Т.е. создается массив в котором все элементы расположены в обратном порядке. Исходный массив при этом не меняется:


slice(startIndex:int = 0, endIndex:int = 16777215):Array – Вытаскивает из исходного массива элементы начиная с элемента startIndex и до endIndex, и создает новый массив, не меняя при этом старого:

Не забывайте что индексация начинается с 0. Если не передать второй параметр, то создается массив до последнего элемента исходного массива:

Если вызвать метод slice без параметров, то будет создана полная копия:

Если вы попытаетесь создать копию простой передачей значения array2 = array1, вы получите не копию массива а всего лишь новую ссылку на тот же массив. Подробно про передачу значений по ссылке читайте в разделе Book Part 7. Передача данных по ссылке


splice(startIndex:int, deleteCount:uint, … values):Array – метод для удаления элементов из массива и добавления новых на место удаленных. Метод возвращает массив удаленных элементов. Что бы удалить один или несколько элементов, можете воспользоваться таким кодом:

Если вам необходимо на место удаленных элементов поместить новые, сделать это можно так:

Эту статью прочитали 2533 раз

Скачать исходные коды примеров из книги можно в облаке.
Возникли вопросы по книге? Не стесняйтесь спрашивать в комментариях или любым другим способом на странице Контакты.
Присоединяйтесь к нам в социальных сетях: ВКонтакте, Twitter и Facebook
Понравилась книга? Буду благодарен если вы поделитесь ссылкой с друзьями.



<< Предыдущий раздел | Следующий раздел >>
Книга ActionScript 3.0 - Оглавление

Глава1. Основы языка
Part1. Числовые типы данных (Number, int, unit)
Part1.1. Арифметические операции, объект Math
Part2. Логический тип данных Boolean
Part3. Строковый тип данных String
Part3.1. Класс String и его методы/свойства
Part3.2. Преобразование строки в число и обратно
Part4. Работа с массивами Array
>> Part4.1. Методы и свойства класса Array
Part4.2. Сортировка массива
Part4.3. Фильтрация массива
Part5. Работа с массивами Vector
Part6. Тип данных Object
Part6.1. Класс Object и преобразования типов
Part7. Передача данных по ссылке
Part8. Неопределенные значения NaN, null и undefined
Part9.1. Оператор выбора if-else
Part9.1.1 “? :” – альтернативная конструкция if-else
Part9.2. Оператор выбора switch - case
Part10.1. Оператор цикла for и for in
Part10.2. Операторы цикла while и do
Part11. Таймеры


Комментарии ВКонтакте:




Комментарии Facebook:




Комментарии WordPress: