Получить индекс массива в выборке
Есть массив и обход элементов массива циклом Для каждого.
Как узнать индекс массива?
Для каждого ЭлементМассива Из МассивЭлементов Цикл
.
Отладчик говорит:
Элемент.Индекс — ошибка
Элемент.Индекс() — ошибка
Думаю, переписать этот цикл оператором
Для Индекс = 0 ПО МассивЭлементов.Количество()-1 Цикл
ЭлементМассива = МассивЭлементов[Индекс]
.
А чтобы не переписывать, нет способа?
упс.. .в (0) правильно так:
Как узнать индекс текущего элемента массива?
Массив (Array)
Найти (Find)
Синтаксис:
Тип: Произвольный.
Искомое значение.
Возвращаемое значение:
Тип: Число; Неопределено.
Если элемент найден, возвращается его индекс. Если элемент не найден, возвращается Неопределено.
Описание:
Выполняет поиск элемента в массиве.
массив — это просто набор значений не отягченный никакими дополнительными вещами, как например тз, там действительно каждая строка однозначно идентифицируется
1С 8.x : Массив
Как удалить повторяющиеся элементы массива? 6
Функция УдалитьПовторяющиесяЭлементыМассива(Массив) Экспорт ТекущийИндекс = 0; ВсегоЭлементов = Массив.Количество(); Пока ТекущийИндекс ВсегоЭлементов Цикл Индекс2 = ТекущийИндекс + 1; Пока Индекс2 ВсегоЭлементов Цикл Если Массив = Структура
Создать структуру и добавить элементы 4
// Создание структуры СозданнаяСтруктура = Новый Структура; // Создание структуры и добавление элементов СтруктураОтбора = Новый Структура; СтруктураОтбора.Вставить(» Качество» , Качество); СтруктураОтбора.Вставить(» Номенклатура» , Номенкла Структура
Преобразовании Структуры в Таблицу Значений 4
//Струтура в ТЗ Функция СтруктураВТЗ(Структр) ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить(» Значение» ); ТЗ.Колонки.Добавить(» Описание» ); Для Каждого ТекЭлем из Структр Цикл НовСтр=ТЗ.Добавить(); НовСтр.Значение = ТекЭлем.Ключ; НовСтр Массив
Как получить последний элемент массива 3
Массив = Новый Массив(); Массив.Добавить(» ЭлементОдин» ); Массив.Добавить(» ЭлементДва» ); Массив.Добавить(» ЭлементТри» ); Массив.Добавить(» ЭлементЧетыре» ); ПроследнийЭлементМассива = Массив ; // ПроследнийЭлементМассива = ЭлементЧетыре Посмотреть все в категории Работа с Массивом, Структурой, Соответствием
Работаем с массивом программно
Массив — это программная коллекция (объект встроенного языка), содержащая пронумерованную последовательность значений произвольного типа. Каждому элементу присваивается последовательный целочисленный номер — индекс, начинающийся с нуля. По индексу можно получить или установить значение элемента массива.
В 1С:Предприятие 8 существует два типа массивов:
- фиксированный массив — такой массив имеет фиксированный размер, заданный при его создании. Для фиксированного массива недоступно программное изменение размера, количества и последовательности элементов;
- обычный массив — такой массив имеет динамический размер и его верхний предел практически неограничен. Таким массивом можно произвольно оперировать из встроенного языка;
Сейчас мы рассмотрим обычные массивы.
Создание и инициализация элементов массива
Создание пустого массива выполняется с помощью оператора Новый :
Для добавления элементов в массив используется одноименный метод Массив.Добавить():
Каждый новый элемент помещается в конец массива. Чтобы создать массив с заданным размером, можно воспользоваться конструктором массива. Например, так:
Для доступа к отдельным элементам массива применяется операция разыменования: указывается имя переменной, объявленной как массив, а затем, в квадратных скобках, указывается индекс элемента: ИмяМассива[Индекс] . Такие конструкции можно указывать как слева от оператора присваивания:
Так и справа: в выражениях и в качестве параметров процедур и функций:
Границы массивов
Как было сказано выше, левая граница массива постоянна и всегда равно нулю (0). Верхняя граница напрямую связана с количеством элементов в массиве. Получить ее можно двумя способами:
- С использованием метода Массив.Количество() с последующим вычитанием 1;
- С использованием одноименного метода Массив.ВГраница();
Давайте рассмотрим распространенные операции с массивами
Перебор элементов массива
Для перебора (обхода) всех элементов массива обычно используется оператор цикла Для :
Либо оператор цикла Для Каждого :
Первый способ лучше использовать, если Вам необходимо получить одновременно и индекс, и значение массива. Второй способ больше подходит для ситуации, когда нужно только последовательно перебрать все значения массива. Использование второго способа повышает «читабельность кода».
Поиск в массиве
Для поиска значений в массиве можно воспользоваться одноименным методом Массив.Найти(). Он возвращает индекс найденного элемента или Неопределено , если таковой не был найден:
Как получить индекс элемента массива 1с
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
Массив
Описание:
Предназначен для доступа к элементам массива, его методам и конструктору.
Элементы коллекции: Произвольный
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются значения элементов массива.
Возможно обращение к значению элемента посредством оператора [. ]. В качестве аргумента передается индекс значения (нумерация с 0).