Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 11:36

Повторение в массиве. Как удалить?

Автор ППП, 23 ноя 2009, 13:34

0 Пользователей и 1 гость просматривают эту тему.

ППП

Массив поиском не обаладает, поэтому есть необходимость удалить некоторые элементы как повторяющиеся , так и абсолютно лишние. Как сделатЬ?

Buh777

Скажу сразу, что методом значения поиска он не обладает, и собственно поэтому является самой простой универсальной коллекцией. Поэтому просто перебираем массив и по ходу проверяем значения:
ЦитироватьПроцедура УдалитьПовторяющиесяЭлементы(Массив)
   
   ТекущийИндекс  = 0;
   ВсегоЭлементов = Массив.Количество();
      
   Пока ТекущийИндекс < ВсегоЭлементов Цикл
      Индекс2 = ТекущийИндекс + 1;
      
      Пока Индекс2 < ВсегоЭлементов Цикл
            
         Если Массив[Индекс2] = Массив[ТекущийИндекс] Тогда
            Массив.Удалить(Индекс2);
            ВсегоЭлементов = ВсегоЭлементов - 1;

         Иначе
            Индекс2 = Индекс2 + 1;
            
         КонецЕсли;
         
      КонецЦикла;
         
      ТекущийИндекс = ТекущийИндекс + 1;
         
   КонецЦикла;

КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск