Добавление элементов в массив

Существует несколько типов задач, связанных с добавлением в массив элементов — и каждая из них имеет индивидуальные методы решения. Перечислим эти задачи:

• элемент или группу элементов нужно добавить в начало массива;

• элемент или группу элементов нужно добавить в конец массива;

• элемент или группу элементов нужно вставить в середину массива.

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

myArray.unshift (valuel, value2... valueN),
где:

• myArray — массив, в который должны быть добавлены элементы;

• value1, value2, …, valueN – Список элементов в том порядке, в котором их необходимо присоединить к массиву.

Записав результат добавления элементов в массив в переменной myArray, метод unshiftO возвращает значение длины полученного массива.

Пример использования метода unshift():

var arr:Array=[l,2,3];
trace(arr.unshift(-2,-l,0)); // Выводи: 6 (длина массива arr
// после добавления трех элементов)
trace(arr); // Выводит: -2, -1, 0, 1, 2, 3

Из трех рассматриваемых в этом разделе задач наиболее важна для практики та, которая связана с добавлением элемента или группы элементов в конец массива.


Она имеет целых три способа решения.

Если к массиву должен быть присоединен только один элемент, то наиболее рационально сделать это, не обращаясь к специальным методам класса Array, а добавив его напрямую, по индексу. Например:

var arr:Array=[l,2,3];
arr[arr.length)=arr.length+1;
trace(arr); // Выводит: 1, 2, 3, 4

Если в конец массива требуется добавить несколько элементов, то лучше всего применить метод push(). Его синтаксис и возвращаемое им значение точно такие же, как и у рассмотренного ранее метода unshift(). Пример:

var arr:Array=[l,2,3];
trace(arr.push(4,5,6)); // Выводит: 6 (длина массива
// после добавления элементов)
trace(arr); // Выводит: 1, 2, 3, 4, 5, 6

Чтобы добавить элемент или группу элементов в середину массива, нужно использовать метод splice(). Его синтаксис:

myArray.splice(start, deleteCcunt, valueO, value1...valueN),
где:

• myArray — модифицируемый массив;

• start — индекс элемента, с которого должна начаться вставка элементов или же удаление участка массива;

• deleteCount — число элементов массива, которые должны быть удалены, начиная от элемента с индексом start.


Если данный параметр не задан, то удаляются все элементы от позиции start и до конца массива. Если deleteCount равен 0, то элементы из массива не удаляются;

• value1, value2, ..., valueN — список, элементвов, которые должны быть добавлены в массив, начиная от элемента с индексом start. He обязателен.

Метод splice() — это очень мощный и разносторонний инструмент. Во-первых, используя его,
можно переопределить группу элементов в массиве:

var arr:Array=[l,2,3,4,5,6];
arr.splice(1,2,"Привет","Пока"); // Удаляем второй и третий элементы
// и помещаем на их место строки
trace(arr); // Выводит: 1, Привет, Пока, 4, 5, 6

Во-вторых, элемент или группа элементов могут быть вставлены в массив без удаления его фрагмента. При этом его элементы, имеющие индекс больший, чем позиция вставки, будут просто сдвинуты. Например:

var arr:Array=[l,2,3,4,5,6];
arr.splice(1,0,"Привет","Пока"); // Элементы добавляются
// начиная со второй позиции
trace(arr); // Выводит: 1, Привет, Пока, 2, 3, 4, 5, б

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

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

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