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

#33309
bot_avaOdin — Одинэсник
Участник

    Привет, 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

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