![]() |
Массивы во Флеше Ну ООЧЕНЬ ЧАсто задаваемый ВОпрос
Array (object)
Объект Array позволяет вам работать с массивами. Объект Array - это объект, чьи свойства идентифицируются порядковым номером, позицией в массиве. Номер этот называют индексом. Первый элемент массива всегда имеет нулевой индекс, второй - [1], третий - [2], и т. д. В следующем примере массив myArray состоит из проиндексированных названий месяцев года. Код:
myArray[0] = "January" Пример В этом примере складываются два массива: Код:
alpha = new Array("a","b","c");num1=[1,3,5]; num2=[2,4,6]; num3=[7,8,9]; nums=num1.concat(num2,num3) // создается массив [1,3,5,2,4,6,7,8,9] [*]join Объединяет элементы массива в строку. Пример В следующем примере создается массив с тремя элементами. Затем элементы объединяются тремя способами: с разделителем по умолчанию, с запятой и пробелом, и со знаком плюс. Код:
a = new Array("Earth","Moon","Sun")Пример В примере создается массив myPets, содержащий четыре элемента, а затем последний удаляется: Код:
myPets = ["cat", "dog", "bird", "fish"];Пример Создается массив myPets, содержащий два элемента, затем добавляются еще два, после чего pushed содержит 4 элемента. Код:
myPets = ["cat", "dog"];Пример Использование метода Array.reverse: Код:
var numbers = [1, 2, 3, 4, 5, 6];1,2,3,4,5,6 6,5,4,3,2,1 [*]shift Удаляет первый элемент массива и возвращает его значение. Пример Создаем массив myPets и удаляем из него первый элемент: Код:
myPets = ["cat", "dog", "bird", "fish"];[*]slice Извлекает из массива часть и возвращает ее как новый массив. Синтаксис myArray.splice(start, deleteCount, value0,value1...valueN); Аргументы start Индекс элемента массива, где начинается добавление/удаление элементов. deleteCount Количество удаляемых элементов, включающее в себя элемент start. Если deleteCount не задан, метод удаляет все элементы от start до конца массива. value Вставляемые в массив элементы, начиная с точки start. Не обязателен. Описание Метод; добавляет и/или удаляет элементы из массива. Модифицирует массив без создания копии. [*]sort Сортирует массив. Пример Используем Array.sort без определения аргумента orderfunc: Код:
var fruits = ["oranges", "apples", "strawberries",oranges,apples,strawberries,pineapples,cherries apples,cherries,oranges,pineapples,strawberries Используем Array.sort, определяя аргумент orderfunc: Код:
var passwords = [daniel:1234 gary:foo john:snafu mike:bar steve:yuck [*]splice Добавляет и/или удаляет элементы из массива. Array.splice Синтаксис Код:
myArray.splice(start, deleteCount, value0,value1...valueN);start Индекс элемента массива, где начинается добавление/удаление элементов. deleteCount Количество удаляемых элементов, включающее в себя элемент start. Если deleteCount не задан, метод удаляет все элементы от start до конца массива. value Вставляемые в массив элементы, начиная с точки start. Не обязателен. Описание Метод; добавляет и/или удаляет элементы из массива. Модифицирует массив без создания копии. [*]toString Возвращает значение строки, которую представляют из себя элементы массива. Пример Создаем массив myArray и преобразуем его в строку: Код:
myArray = new Array();1,2,3,4,5 [*]unshift Добавляет один или больше элементов в начало массива и возвращает длину нового массива. Array.unshift Синтаксис Код:
myArray.unshift(value1,value2,...valueN);value1,...valueN Один или больше элементов, переменных или чисел, вставляемых в начало массива. Описание Метод; добавляет один или больше элементов в начало массива и возвращает длину нового массива. [*]length Возвращает длину массива. Пример Ниже поясняется, как обновляется свойство length: Код:
//initial length is 0Код:
new Array();length Целое число, равное количеству элементов в массиве. Если элементы не смежные, length равен индексу последнего элемента плюс 1. Для дополнительной информации смотри свойства Array.length. element0...elementN Список двух или более произвольно выбранных значений. Это могут быть числа, имена или другие элементы. Первый элемент массива всегда имеет индекс, или позицию, равную 0. Описание Конструктор; позволяет создать массив и работать с ним. Индексы начинаются с нуля, и растут с ростом порядкового номера элемента. Если аргументы не определялись, создается нулевой массив. Пример В этом примере создается нулевой объект Array: myArray = new Array(); В этом примере создается новый объект Array A-Team, с длиной length равной 4: A-Team = new Array("Jody", "Mary", "Marcelle", "Judy"); Ниже показана возможная инициализация элементов массива A-Team: Код:
myArray[0] = "Jody" |
Да я один тока 500 раз спросил ;)
|
О, как подробно и полно!
Прямо бери и вставляй в книжку. К вышеописанному я добавлю одну примочечку.
Иногда бывает нужно перегнать в массив слова, содержащиеся в какой-либо строке. Мне на глаза однажды попался весьма подходящий для этого дела метод, который (ни в коей мере не претендуя на авторство) я излагаю. 1. Пишем прототип для объекта типа строка. Пишем его, пока что, в первом кажре клипа. String.prototype.getWordsArray=function(){ var temp=[]; var begin=0; var firstSpace=this.indexOf(" "); var lastSpace=this.lastIndexOf(" "); for(var i=0;i<this.length;i++){ if(end!=lastSpace){ end=this.indexOf(" ",begin+1) temp[i]=this.substring(begin,end,end-begin); begin=this.indexOf(" ",end)+1; }else{ break; } } temp.push(this.substring(lastSpace+1,this.length)); return temp; } 2.Теперь этот прототип можно использовать для любых строк и любых массивов. Как? Да очень просто. Пишем где-нибудь в руте s="Эта строка будет разбита на слова, которые запишутс\xff в массив"; Создаем массив a=new array(); И перегоняем в него все слова a=s.getWordsArray(); 3.Остались просмотредь этот массив (убедиться дабы), что и делаем. for (i=0;i<a.length;i++){ trace(a[i]); } 4. Почему же все-таки прототип? Потому, что эта задача может возникнуть завтра, а может - и через месяц. Чтобы не создавать каждый раз код заново, используем один раз созданное для всех случаев жизни. Для этого вышеописанный прототип записываем в отдельный файл с именем strtowords.as, из самого же клипа в таком случае - удаляем его, а в первом кадре вашего клипа пишем: #include "strtowords.as"; Вот и все. Теперь вам не нужно переписывать каждый раз код прототипа из программы в программу, достаточно лишь положить в исполняемую папку файл с прототипом (с вашей библиотекой прототипов!) и откомпилировать клип. Написанный прототип подключится, куда надо, и для работы исполняемого файла он более не нужен. Вот и все, что хотел добавить по поводу массивов. |
Теперь не много о строках
:) String (object) :)
Объект String - оболочка для первоначального строкового типа данных, позволяет использовать методы и свойства объекта String для управления первоначальными строковыми значениями типов. Используя функцию String(), можно преобразовывать значение любого объекта в строку. Все методы объекта String, за исключением concat, fromCharCode, slice и substr , являются универсальными. Это означает, что сами методы вызывают this.toString перед выполнением их операций и Вы можете использовать эти методы с другими не-строковыми объектами. Можно вызывать любой метод объекта String, используя конструктор метода new String или литеральное строковое значение. Если Вы определяете строковый литерал, интерпретатор ActionScript автоматически конвертирует его во временный объект String, вызывает метод, а затем удаляет временный объект String. Можно также использовать свойство String.length со строковым литералом. Важно не путать строковый литерал с экземпляром объекта String. В следующем примере в первой строке создается строковый литерал s1, а во второй, экземпляр объекта String s2. Код:
s1 = "foo"
Конструктор для объекта String Синтаксис Код:
new String(value);value Начальное значение нового объекта String. Описание Конструктор; создает новый объект String. :) :rolleyes: :) Для работы со строками также применима и функция : substring Синтаксис Код:
substring(string, index, count);string Исходная строка, из которой извлекается новая строка. index Номер первого символа, с которого начинается извлечение. count Число символов, которые нужно включить в извлеченную строку, не включая индексный символ. Описание Строковая функция; извлекает часть символьной строки. :) Ну Вот и с строками разобрались :) :) :) |
| Часовой пояс GMT +4, время: 07:03. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.