Меню
0
0 комментариев

Что такое объект Array и функции работы с массивами в Базис-Скрипт?

0
Анонимный пользователь 0 Коментарии

Объект служит для создания массивов и их редактирования. В языке скриптов массив можно создать двумя способами:

— создание массива посредством инициализации.

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

Top