Слияние массивов

Если необходимо объединить два или более массивов в один, нужно использовать метод concat().

Его синтаксис:
myArray.cencat(value0,value1,...valueN),
где:

• myArray - массив, к которому будут присоединены новые элементы или с которым будут слиты массивы;
• value0, valuel, ..., valueN — список величин, которые должны быть присоединены к массиву myArray в качестве элементов. Если величина является массивом, то она будет присоединена не как один, а как группа элементов.

На первый взгляд, метод concat() очень напоминает метод push(). Единственное заметное отличие состоит в том, что push() изменяет вызвавший его массив, a concat() лишь возвращает результат проведенного слияния:

var arr:Array = [1, 2, 3];
trace(arr.concat(4, 5)); // Выводит: 1, 2, 3, 4, 5
trace(arr); // Выводит: 1, 2, 3 (массив arr не был изменен)
arr.push{4, 5);
trace(arr}; // Выводит: 1, 2, 3, 4, 5

Однако между методами concat() и push() имеется и более глубокое различие, заключающееся в следующем. Если в качестве параметра методу push() будет передан массив, то он будет присоединен в виде одного элемента.


Метод же concat() в такой ситуации раскроет массив, присоединив каждый из его элементов по отдельности. Это позволяет решать чрезвычайно важную для практики задачу — сливать два или несколько массивов в один. Пример:

var arr:Array = [1, 2, 3];
arr=arr.concat([4,5],[6,7]); // Объединяем три массива
trace(arr); // Выводит: 1, 2, 3, 4, 5, 6, 7
trace(arr.length); // Выводит: 7 (массивы были действительно присоединены
// поэлементно)

Элементы вложенных массивов методом сопсаt() не раскрываются, а присоединяются в неизменном виде.

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

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

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