Массив — это универсальная коллекция значений, предназначенная для хранения однотипных данных. Элементом массива может быть значение любого типа. В статье рассматривается работа с этим программным объектом.
Массив доступен как на клиенте, так и на сервере. Массивы не хранятся в базе данных и используются для работы с временными наборами данных. Доступ к элементам массива осуществляется по индексу через оператор […] (первый элемент имеет индекс 0). Также для массива возможен обход посредством оператора Для каждого … Из … Цикл. Имеется возможность организовывать многомерные массивы.
Рассмотрим на примерах работу с этим программным объектом.
Создание массива
// Создание простого массива
Мас = Новый Массив();
// Создание массива фиксированной длины
Мас = Новый Массив(5);
// Создание многомерного массива: массив из 10 элементов, каждый из которых является массивом из 5 элементов
Мас = Новый Массив(10, 5);
Добавление элементов в массив
// Добавление элемента в конец массива
Мас.Добавить(ЗначениеНовогоЭлемента);
// Вставка элемента в индекс 0
Мас.Вставить(0, "Первый");
Переопределение значений массива
// Элементу с индексом 1 присваивается новое значение
Мас[1] = НовоеЗначение;
Мас.Установить(1, НовоеЗначение);
// Установка значений многомерных массивов
Мас[1][3] = НовоеЗначение;
Чтение значений массива
// Чтение значения элемента с индексом 0 (первого)
ЭлементМассива = Мас[0];
ЭлементМассива = Мас.Получить(0);
// Чтение значений многомерного массива
ЭлементМассива = Мас[0][3];
// Перебор всех элементов массива
Для Каждого ЭлементМассива Из Мас Цикл
Сообщить(ЭлементМассива);
КонецЦикла;
Поиск элементов массива
ИндексНайденногоЭлемента = Мас.Найти("ИскомоеЗначение");
Если ИндексНайденногоЭлемента <> Неопределено Тогда
//
КонецЕсли;
Сортировка массива
Сортировка массива описана в отдельной статье.
Определение количества элементов в массиве
КоличествоЭлементов = Мас.Количество();
// Определение максимального индекса массива. Если массив пустой, то возвращается -1.
МаксИндекс = Мас.ВГраница();
Удаление элементов массива
// Удаление элемента с индексом 1 (второго)
Мас.Удалить(1);
// Удаление всех элементов массива
Мас.Очистить();
Выгрузка массива в колонку таблицы значений
// Количество строк таблицы значений должно быть равно количеству элементов массива
// Значения из массива загружаются в порядке индексов
Таблица.ЗагрузитьКолонку(Мас, "ИмяКолонки");
Методы работы с массивом в БСП
В Библиотеке стандартных подсистем предусмотрено несколько функций для обработки массивов:
// Удаляет повторяющиеся элементы массива
Взаимодействия.УдалитьПовторяющиесяЭлементыМассива(Массив, НеИспользоватьНеопределено = Ложь);
// Вычитает один массив элементов из другого массива. Возвращает результат вычитания.
ОбщегоНазначенияКлиентСервер.СократитьМассив(Массив, МассивВычитания);
// Удаляет повторяющиеся элементы массива
ОбщегоНазначенияКлиентСервер.СвернутьМассив(Массив);
// Создает копию значения типа Массив
ОбщегоНазначенияКлиентСервер.СкопироватьМассив(МассивИсточник);