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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как удалить все элементы массива, кроме первого, в 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #33308
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        Есть массив из 5 элементов, необходимо написать код, который выполнит обход массива и удалит все элементы, кроме 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 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С