Программная работа с массивом

Массив — это универсальная коллекция значений, предназначенная для хранения однотипных данных. Элементом массива может быть значение любого типа. В статье рассматривается работа с этим программным объектом.

Массив доступен как на клиенте, так и на сервере. Массивы не хранятся в базе данных и используются для работы с временными наборами данных. Доступ к элементам массива осуществляется по индексу через оператор […] (первый элемент имеет индекс 0). Также для массива возможен обход посредством оператора Для каждого … Из … Цикл. Имеется возможность организовывать многомерные массивы.

Рассмотрим на примерах работу с этим программным объектом.

Создание массива

// Создание простого массива
Мас = Новый Массив();

// Создание массива фиксированной длины
Мас = Новый Массив(5);

// Создание многомерного массива: массив из 10 элементов, каждый из которых является массивом из 5 элементов
Мас = Новый Массив(10, 5);

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

// Добавление элемента в конец массива
Мас.Добавить(ЗначениеНовогоЭлемента);

// Вставка элемента в индекс 0
Мас.Вставить(0, "Первый");

Переопределение значений массива

// Элементу с индексом 1 присваивается новое значение
Мас[1] = НовоеЗначение;
Мас.Установить(1, НовоеЗначение);

// Установка значений многомерных массивов
Мас[1][3] = НовоеЗначение;

Чтение значений массива

// Чтение значения элемента с индексом 0 (первого)
ЭлементМассива = Мас[0];
ЭлементМассива = Мас.Получить(0);

// Чтение значений многомерного массива
ЭлементМассива = Мас[0][3];

// Перебор всех элементов массива
Для Каждого ЭлементМассива Из Мас Цикл
Сообщить(ЭлементМассива);
КонецЦикла;

ИндексНайденногоЭлемента = Мас.Найти("ИскомоеЗначение");
Если
ИндексНайденногоЭлемента <> Неопределено Тогда
//
КонецЕсли;

Сортировка массива

Сортировка массива описана в отдельной статье.

Определение количества элементов в массиве

КоличествоЭлементов = Мас.Количество();

// Определение максимального индекса массива. Если массив пустой, то возвращается -1.
МаксИндекс = Мас.ВГраница();

Удаление элементов массива

// Удаление элемента с индексом 1 (второго)
Мас.Удалить(1);

// Удаление всех элементов массива
Мас.Очистить();

Выгрузка массива в колонку таблицы значений

// Количество строк таблицы значений должно быть равно количеству элементов массива
// Значения из массива загружаются в порядке индексов
Таблица.ЗагрузитьКолонку(Мас, "ИмяКолонки");

Методы работы с массивом в БСП

В Библиотеке стандартных подсистем предусмотрено несколько функций для обработки массивов:
// Удаляет повторяющиеся элементы массива
Взаимодействия.УдалитьПовторяющиесяЭлементыМассива(Массив, НеИспользоватьНеопределено = Ложь);

// Вычитает один массив элементов из другого массива. Возвращает результат вычитания.
ОбщегоНазначенияКлиентСервер.СократитьМассив(Массив, МассивВычитания);

// Удаляет повторяющиеся элементы массива
ОбщегоНазначенияКлиентСервер.СвернутьМассив(Массив);

// Создает копию значения типа Массив
ОбщегоНазначенияКлиентСервер.СкопироватьМассив(МассивИсточник);

Оцените статью