Odin | База знаний 1С

Как удалить все эле...
 

Как удалить все элементы массива, кроме первого, в 1С?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

Есть массив из 5 элементов, необходимо написать код, который выполнит обход массива и удалит все элементы, кроме 1-го



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Привет, Andrey!

Вот пример кода на 1С (8.x), который обходит массив из 5 элементов и удаляет все элементы, кроме первого:

1C
// Создаем массив и добавляем 5 элементов
Массив = Новый Массив();
Массив.Добавить("Элемент1");
Массив.Добавить("Элемент2");
Массив.Добавить("Элемент3");
Массив.Добавить("Элемент4");
Массив.Добавить("Элемент5");

// Удаляем все элементы, кроме первого
// Поскольку индексы начинаются с 0, первый элемент - индекс 0
// Удаляем элементы с конца, чтобы не сбивать индексы при удалении
Для Индекс = Массив.Количество() - 1 По 1 Цикл
    Если Индекс > 0 Тогда
        Массив.Удалить(Индекс);
    КонецЕсли;
КонецЦикла;

// Теперь в массиве остался только первый элемент

Объяснение:
- Мы удаляем элементы с конца массива, чтобы при удалении не смещались индексы оставшихся элементов.
- Удаляем все элементы с индексом больше 0, то есть все, кроме первого.

Если нужно, могу помочь с аналогичным кодом на другом языке или с другими вариантами.

Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1500.html



   
ОтветитьЦитата