Объект служит для создания массивов и их редактирования. В языке скриптов массив можно создать двумя способами:
— создание массива посредством инициализации.
var arr = [«value1», 10 , false, «text»]; //Как видно из примера, массив может содержать значения разного типа.
— создание массива при помощи оператора new.
var arr = new Array(«value1″,»value2″,»value3»);
Массив при программировании скриптов на самом деле представляет собой Std::Map, то есть не обязательно задавать элементы массива с идентификационным номером. Можно задавать их также и с текстовым значением, соответственно и обращаться к таким элементам массива через текстовое значение.
Пример:
var myMassive = new Array(); //Создаю пустой массив
myMassive[«first»] = «value1»; //Добавляю значение «value1» в массив myMassive с именем «first»
myMassive[«second»] = «value2»; //Добавляю значение «value2» в массив myMassive с именем «second»
var myVar1 = myMassive[«first»]; //Обращаюсь к элементу массива с именем «first»
var myVar2 = myMassive[«second»]; //Обращаюсь к элементу массива с именем «second»
Для добавления элементов в массив можно использовать следующие методы:
— Добавление элемента(ов) в конец массива: push(value1,value2…valueN);
— Добавление элемента(ов) в начало массива: unshift(value1,value2…valueN);
— Добавление элемента(ов) в указанное место массива (startInsert) с возможной заменой последующих элементов
(nmbToRemove): splice(startInsert,nmbToRemove,value1,value2…valueN);
— Также можно дополнять элементы массива следующим образом:
arr[3] = «value»; то есть в указанное место массива
Примеры:
var myMassive = new Array(«value1», 10 , false, «text»); //Создаю массив с четырьмя значениями
myMassive[4] = «new value»; //Добавляю пятое значение в массив. Обратите внимание на то как происходит номерация массива: размер массива стал равен 5 элементам, а обращение к ним происходит от 0 до 4 соответственно. Результат: myMassive(«value1», 10 , false, «text»,»new value»)
myMassive.push(«push value1″,»push value2»); //добавляю в конец массива еще 2 элемента методом push(). Результат: myMassive(«value1», 10 , false, «text»,»new value»,»push value1″,»push value2″)
myMassive.unshift(«some first1»); //Добавляю 1 элемент в начало массива. Результат: myMassive(«some first1″,»value1», 10 , false, «text»,»new value»,»push value1″,»push value2″)
myMassive.splice(2,6,»Inserted Value1″,»Inserted Value2″); //Удаляю элементы массива со 2 по 6 и вставляю два новых элемента. Результат: myMassive(«some first1″,»value1″,»Inserted Value1″,»Inserted Value2»);
var S = «»;
for (var i = 0; i < myMassive.length; ++i)
S += «\»» + myMassive[i] + «\» «; //На экран будет выведен текст: «some first1»
«value1» «Inserted Value1» «Inserted Value2»
infomsg(S);
Для изменения порядка массива используется функция reverse();
Пример:
//Изменение порядка массива:
var myMassive = new Array(«first»,»second»,»third»); //Создаю массив с тремя значениями
var reversedMassive = myMassive.reverse(); //Изменяю порядок массива на обратный
var S = «»;
for (var i = 0; i < reversedMassive.length; ++i)
S += «\»» + reversedMassive[i] + «\» «; //На экран будет выведен текст: «third» «second» «first»
infomsg(S);
В предыдущих примерах мы преобразовывали массив в строку с использованием цикла for, однако есть более простой способ получения строки из массива — функция join(«connectionSymbol»), где connectionSymbol — любой текст или пробел.
Пример:
//Извлечение строки из массива:
var myMassive = new Array(«first»,»second»,»third»); //Создаю массив с тремя значениями
var myStr = myMassive.join(» «); //Объединяю элементы массива через пробел в строку
infomsg(myStr);
Для объединения массивов существует функция concat(имя_массива)
Пример:
//Объединение двух массивов
var myMassive1 = new Array(«first»,»second»,»third»); //Создаю массив с тремя значениями
var myMassive2 = new Array(«four»,»five»); //Создаю массив с двумя значениями
var resultMassive = myMassive1.concat(myMassive2);//Объединяю массивы
var myStr = resultMassive.join(» «); //Объединяю элементы массива через пробел в строку
infomsg(myStr);//Получим следующий вывод: first second third four five
Для сортировки массива используем функцию sort()
Пример:
// Сортировка массива
var myMassive = new Array(«B»,»A»,»C»,0,19,10); //Создаю массив
var sortedMassive = myMassive.sort(); //Получаю отсортированный массив
var myStr = sortedMassive.join(» «); //Объединяю элементы массива через про
бел в строку
infomsg(myStr);//Получим следующий вывод: -10 0 19 A B C