О массивах
Это программный набор элементов. Он служит для:
- Отбора значений.
- Сортировки. Каждой позиции в массиве присваивается индекс. Это облегчает поиск. И вы можете сослаться на объект, написав его номер.
- Объединения и сохранения записей.
- Разделения групп, создания подстрок.
- Массив — сам по себе объект. К нему будет привязана переменная. Можно обратиться к отдельным его частям или использовать его целиком в процедурах. Например, можно объединить группу значений «Сотрудники отдела N» и внести туда имена и фамилии работников.
Проведём аналогию. Представьте книжный шкаф. Книги в нём расставлены по разным «ячейкам». Если вести учёт, вы будете знать, где находится каждый объект. И без труда его достанете. Но если книги, журналы и газеты хаотично разбросаны на столе, поиск нужной вещи затянется. Хотя это не отражает все возможности уникальных коллекций.
Массив — это универсальная коллекция значений, предназначенная для хранения однотипных данных. Элементом массива может быть значение любого типа. В статье рассматривается работа с этим программным объектом.
Массив доступен как на клиенте, так и на сервере. Массивы не хранятся в базе данных и используются для работы с временными наборами данных. Доступ к элементам массива осуществляется по индексу через оператор […] (первый элемент имеет индекс 0). Также для массива возможен обход посредством оператора Для каждого … Из … Цикл. Имеется возможность организовывать многомерные массивы.
Рассмотрим на примерах работу с этим программным объектом.
Массив — это программная коллекция (объект встроенного языка), содержащая пронумерованную последовательность значений произвольного типа. Каждому элементу присваивается последовательный целочисленный номер — индекс, начинающийся с нуля. По индексу можно получить или установить значение элемента массива.
В 1С:Предприятие 8 существует два типа массивов:
- фиксированный массив — такой массив имеет фиксированный размер, заданный при его создании. Для фиксированного массива недоступно программное изменение размера, количества и последовательности элементов;
- обычный массив — такой массив имеет динамический размер и его верхний предел практически неограничен. Таким массивом можно произвольно оперировать из встроенного языка;
Сейчас мы рассмотрим обычные массивы.
Создание и инициализация элементов массива
Создание пустого массива выполняется с помощью оператора Новый :
Для добавления элементов в массив используется одноименный метод Массив.Добавить():
Каждый новый элемент помещается в конец массива. Чтобы создать массив с заданным размером, можно воспользоваться конструктором массива. Например, так:
Для доступа к отдельным элементам массива применяется операция разыменования: указывается имя переменной, объявленной как массив, а затем, в квадратных скобках, указывается индекс элемента: ИмяМассива[Индекс] . Такие конструкции можно указывать как слева от оператора присваивания:
Так и справа: в выражениях и в качестве параметров процедур и функций:
Границы массивов
Как было сказано выше, левая граница массива постоянна и всегда равно нулю (0). Верхняя граница напрямую связана с количеством элементов в массиве. Получить ее можно двумя способами:
- С использованием метода Массив.Количество() с последующим вычитанием 1;
- С использованием одноименного метода Массив.ВГраница();
Давайте рассмотрим распространенные операции с массивами
Перебор элементов массива
Для перебора (обхода) всех элементов массива обычно используется оператор цикла Для :
Либо оператор цикла Для Каждого :
Первый способ лучше использовать, если Вам необходимо получить одновременно и индекс, и значение массива. Второй способ больше подходит для ситуации, когда нужно только последовательно перебрать все значения массива. Использование второго способа повышает «читабельность кода».
Поиск в массиве
Для поиска значений в массиве можно воспользоваться одноименным методом Массив.Найти(). Он возвращает индекс найденного элемента или Неопределено , если таковой не был найден: