Массив в 1С 8.3

Курс

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

Как создать массив

Для создания массива в 1С используется ключевое слово Новый после которого указывается имя класса.

В переменной МассивЗначений будет находиться массив.

В конструкторе массива можно указать количество элементов:

Сразу после создания все элементы массива будут равны Неопределено. При этом размер массива может быть изменен, при добавлении в него новых элементов.

Для добавления элементов используется метод Добавить:

Можно добавлять новые элементы в массив через метод Вставить, с указанием индекса, куда нужно вставить новый элемент. Если указать индекс больше чем количество элементов в массиве, то в массив будет добавлено нужное количество элементов со значением Неопределено:

Количество элементов в массиве

При добавлении каждого нового элемента в массив, количество элементов увеличивается на единицу. Получить общее количество элементов в массиве можно с помощью метода Количество:

Индекс массива

Чтобы обратиться к элементам массива можно использовать индексы. Индекс — это номер элемента в массиве. Нумерация элементов начинается с 0. Чтобы обратиться к первому элементу нужно использовать индекс 0, а чтобы обратиться к пятому элементу — индекс 4. При этом, если мы обратимся к несуществующему элементу массива, то будет ошибка «Индекс находится за границами массива».

Граница массива

Граница массива — это максимальный индекс в массиве. Границу можно получить методом ВГраница. Если в массиве еще нет элементов, то данный метод вернет -1.

Получить элемент массива

Получить элемент массива можно через квадратные скобки или методом Получить:

Перебор массива

С помощью цикла Для Каждого:

Через цикл Для Каждого нельзя изменить значения массива, меняться будет переменная ЭлементМассива.

Перебрать массив можно и через цикл Для. В этом случае через индекс можно изменять значения массива:

Поиск в массиве

Для поиска значений в массиве предназначен метод Найти. Параметром нужно передать значение, которое нужно найти в массиве. А вернет метод индекс элемента в массиве, если он найден, и Неопределено, если такого значения нет в массиве. Нужно учитывать, что чем больше массив, тем медленнее будет выполняться поиск в нем, так как поиск в массиве выполняется перебором всех элементов.

Удаление из массива

Можно удалить конкретный элемент по его индексу через метод Удалить. Можно удалить все элементы массива методом Очистить.

Правильное удаление элементов из середины массива

При удалении элемента из середины массива, массив как бы «смыкается». Если перебирать все элементы массива в цикле и удалять по какому-то условию, то после удаления элемента, следующий элемент будет пропущен. Поэтому правильно перебирать массив с конца:

Данный код удаляет из массива все элементы, которые равны 5.

Как изменить значение элемента массива

Изменить значение элемента массива можно через квадратные скобки, указав индекс изменяемого элемента. Или через метод Установить.

Многомерные массивы

Многомерный массив в 1С — это массив массивов:

В переменной МногомерныйМассив будет 2 элемента типа массив, каждый из которых содержит по 2 элемента типа число.

Через индексы можно изменять и читать значения многомерного массива:

Через конструктор можно сразу создать многомерный массив:

Фиксированный массив

Фиксированный массив — это тот же самый массив, но у которого нельзя изменить ни количество элементов, ни значения массива. Создается 1 раз и больше не может быть изменен. Может быть создан на основании обычного массива:

Если попытаться изменить элемент фиксированного массива, то будет ошибка «Индексированное значение доступно только для чтения».

На основании фиксированного массива можно создать обычный массив:

У фиксированного массива есть следующие методы:

  • Количество()
  • ВГраница()
  • Получить(<Индекс>), можно так: Значение = Массив[0];
  • Найти(<Значение>)

которые выполняют те же действия, что и у обычного массива.


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Здесь может быть Ваша реклама
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok