Меню
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