1С 8.3 Удаление дублей в массиве
Данные > Примеры кода 1С > 1С 8.3 Массив
Перейти в раздел примеры кода 1С 8.3:
Удаление дублей в массиве с помощью ТЗ в 1С 8.3:
Функция УдалениеДублейВМассиве1(ВходящийМассив) Экспорт
ТЗ_Ключ = Новый ТаблицаЗначений;
ТЗ_Ключ.Колонки.Добавить("Инд"); // ключ поиска дублей
Для A=1 По ВходящийМассив.Количество() Цикл
ТЗ_Ключ.Добавить();
КонецЦикла;
ТЗ_Ключ.ЗагрузитьКолонку(ВходящийМассив,"Инд");
ТЗ_Ключ.Свернуть("Инд");
ВходящийМассив = ТЗ_Ключ.ВыгрузитьКолонку("Инд");
Возврат ВходящийМассив;
КонецФункции
ТЗ_Ключ = Новый ТаблицаЗначений;
ТЗ_Ключ.Колонки.Добавить("Инд"); // ключ поиска дублей
Для A=1 По ВходящийМассив.Количество() Цикл
ТЗ_Ключ.Добавить();
КонецЦикла;
ТЗ_Ключ.ЗагрузитьКолонку(ВходящийМассив,"Инд");
ТЗ_Ключ.Свернуть("Инд");
ВходящийМассив = ТЗ_Ключ.ВыгрузитьКолонку("Инд");
Возврат ВходящийМассив;
КонецФункции
Удаление дублей в массиве в цикле в 1С 8.3:
Функция УдалениеДублейВМассиве2(ВходящийМассив) Экспорт
ТекИндекс = 0;
МассивКоличество = ВходящийМассив.Количество();
Пока ТекИндекс < МассивКоличество Цикл
ТекИндекс2 = ТекИндекс + 1;
Пока ТекИндекс2 < МассивКоличество Цикл
Если ВходящийМассив[ТекИндекс2] = ВходящийМассив[ТекИндекс] Тогда
ВходящийМассив.Удалить(ТекИндекс2);
МассивКоличество = МассивКоличество - 1;
Иначе
ТекИндекс2 = ТекИндекс2 + 1;
КонецЕсли;
КонецЦикла;
ТекИндекс = ТекИндекс + 1;
КонецЦикла;
Возврат ВходящийМассив;
КонецФункции
ТекИндекс = 0;
МассивКоличество = ВходящийМассив.Количество();
Пока ТекИндекс < МассивКоличество Цикл
ТекИндекс2 = ТекИндекс + 1;
Пока ТекИндекс2 < МассивКоличество Цикл
Если ВходящийМассив[ТекИндекс2] = ВходящийМассив[ТекИндекс] Тогда
ВходящийМассив.Удалить(ТекИндекс2);
МассивКоличество = МассивКоличество - 1;
Иначе
ТекИндекс2 = ТекИндекс2 + 1;
КонецЕсли;
КонецЦикла;
ТекИндекс = ТекИндекс + 1;
КонецЦикла;
Возврат ВходящийМассив;
КонецФункции
Удаление дублей в массиве через БСП в 1С 8.3:
ОбщегоНазначенияУТ.УдалитьПовторяющиесяЭлементыМассива(ВходящийМассив);
Удаление дублей в массиве через БСП в 1С 8.3:
Взаимодействия.УдалитьПовторяющиесяЭлементыМассива(МассивСпособовОтражений);
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник