К основному содержанию
A1sCode
Быстрый старт
Модуль A1sCode · API · сверено с исходником

A1sAR — массивы без ручных циклов

Создание, структурирование, множества, типизация и неизменяемые операции над массивами.

Функций 31Разделов 9Зависимости A1sDSИсходных примеров 24
1Выберите раздел

Навигация построена только по экспортным функциям исходного модуля.

2Проверьте контракт

Сигнатура и параметры сверены с объявлением функции.

3Скопируйте пример

Исходные примеры сохранены, недостающие добавлены при аудите.

Разделы модуля

Ничего не найденоИзмените поисковый запрос.

Создание

Фабрики и конструкторы объектов модуля.

Создаёт массив из переданных значений (до 40 элементов).

Полная сигнатураOf(Знач1 = "__A1S_∅__", Знач2 = "__A1S_∅__", Знач3 = "__A1S_∅__", Знач4 = "__A1S_∅__", Знач5 = "__A1S_∅__", Знач6 = "__A1S_∅__", Знач7 = "__A1S_∅__", Знач8 = "__A1S_∅__", Знач9 = "__A1S_∅__", Знач10 = "__A1S_∅__", Знач11 = "__A1S_∅__", Знач12 = "__A1S_∅__", Знач13 = "__A1S_∅__", Знач14 = "__A1S_∅__", Знач15 = "__A1S_∅__", Знач16 = "__A1S_∅__", Знач17 = "__A1S_∅__", Знач18 = "__A1S_∅__", Знач19 = "__A1S_∅__", Знач20 = "__A1S_∅__", Знач21 = "__A1S_∅__", Знач22 = "__A1S_∅__", Знач23 = "__A1S_∅__", Знач24 = "__A1S_∅__", Знач25 = "__A1S_∅__", Знач26 = "__A1S_∅__", Знач27 = "__A1S_∅__", Знач28 = "__A1S_∅__", Знач29 = "__A1S_∅__", Знач30 = "__A1S_∅__", Знач31 = "__A1S_∅__", Знач32 = "__A1S_∅__", Знач33 = "__A1S_∅__", Знач34 = "__A1S_∅__", Знач35 = "__A1S_∅__", Знач36 = "__A1S_∅__", Знач37 = "__A1S_∅__", Знач38 = "__A1S_∅__", Знач39 = "__A1S_∅__", Знач40 = "__A1S_∅__", ТолькоУникальные = Ложь) → Array
ПараметрТипОписание
Знач1ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач2ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач3ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач4ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач5ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач6ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач7ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач8ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач9ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач10ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач11ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач12ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач13ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач14ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач15ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач16ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач17ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач18ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач19ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач20ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач21ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач22ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач23ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач24ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач25ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач26ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач27ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач28ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач29ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач30ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач31ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач32ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач33ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач34ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач35ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач36ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач37ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач38ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач39ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
Знач40ArbitraryЗначения для добавления в массив По умолчанию: "__A1S_∅__".
ТолькоУникальныеBooleanУдалить дубликаты из результата По умолчанию: Ложь.
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Создаёт массив из переданных значений (до 40 элементов).
// Граница: Обязательных параметров нет; все параметры необязательны (41).
// Результат: Array.

// Базовое использование
Числа = A1sAR.Of(1, 2, 3);  // [1, 2, 3]

// С Неопределено — РАБОТАЕТ!
Смешанный = A1sAR.Of(1, Неопределено, 3);  // [1, Неопределено, 3]

Создает новый массив заданного размера, заполненный одинаковым значением.

Полная сигнатураOfN(ArraySize, DefaultValueForAllElements) → Array
ПараметрТипОписание
ArraySizeNumberРазмер массива
DefaultValueForAllElementsArbitraryЗначение для заполнения всех элементов
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Создает новый массив заданного размера, заполненный одинаковым значением.
// Граница: Обязательные параметры: ArraySize, DefaultValueForAllElements
// Результат: Array.

// A1sAR.OfN(5, "test") -> ["test", "test", "test", "test", "test"]
// A1sAR.OfN(3, 0) -> [0, 0, 0]
// A1sAR.OfN(2, Новый Структура()) -> [Структура{}, Структура{}]

Создаёт фиксированный (неизменяемый) массив из переданных значений (до 40 элементов).

Полная сигнатураOfFixed(P1 = "__A1S_∅__", P2 = "__A1S_∅__", P3 = "__A1S_∅__", P4 = "__A1S_∅__", P5 = "__A1S_∅__", P6 = "__A1S_∅__", P7 = "__A1S_∅__", P8 = "__A1S_∅__", P9 = "__A1S_∅__", P10 = "__A1S_∅__", P11 = "__A1S_∅__", P12 = "__A1S_∅__", P13 = "__A1S_∅__", P14 = "__A1S_∅__", P15 = "__A1S_∅__", P16 = "__A1S_∅__", P17 = "__A1S_∅__", P18 = "__A1S_∅__", P19 = "__A1S_∅__", P20 = "__A1S_∅__", P21 = "__A1S_∅__", P22 = "__A1S_∅__", P23 = "__A1S_∅__", P24 = "__A1S_∅__", P25 = "__A1S_∅__", P26 = "__A1S_∅__", P27 = "__A1S_∅__", P28 = "__A1S_∅__", P29 = "__A1S_∅__", P30 = "__A1S_∅__", P31 = "__A1S_∅__", P32 = "__A1S_∅__", P33 = "__A1S_∅__", P34 = "__A1S_∅__", P35 = "__A1S_∅__", P36 = "__A1S_∅__", P37 = "__A1S_∅__", P38 = "__A1S_∅__", P39 = "__A1S_∅__", P40 = "__A1S_∅__") → FixedArray
ПараметрТипОписание
P1ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P2ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P3ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P4ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P5ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P6ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P7ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P8ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P9ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P10ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P11ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P12ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P13ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P14ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P15ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P16ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P17ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P18ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P19ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P20ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P21ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P22ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P23ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P24ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P25ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P26ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P27ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P28ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P29ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P30ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P31ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P32ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P33ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P34ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P35ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P36ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P37ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P38ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P39ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
P40ArbitraryЗначения для добавления в массив (необязательные) По умолчанию: "__A1S_∅__".
ВозвращаетFixedArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Создаёт фиксированный (неизменяемый) массив из переданных значений (до 40 элементов).
// Граница: Обязательных параметров нет; все параметры необязательны (40).
// Результат: FixedArray.

Const = A1sAR.OfFixed("A", "B", "C"); // [A, B, C]
  // Const[0] = "X"; // Ошибка! Массив фиксирован

Структурирование

Изменение формы и порядка элементов без ручных циклов.

Разбивает массив на части (чанки) указанного размера.

Полная сигнатураChunk(Array, Size) → Array
ПараметрТипОписание
ArrayArrayИсходный массив
SizeЧислоРазмер каждого чанка (количество элементов)
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Разбивает массив на части (чанки) указанного размера.
// Граница: Обязательные параметры: Array, Size
// Результат: Array.

Группы = A1sAR.Chunk(A1sAR.Of(1, 2, 3, 4, 5), 2); // [[1, 2], [3, 4], [5]]

Выравнивает массив на один уровень вложенности (без рекурсии).

Полная сигнатураFlatten(Array) → Array
ПараметрТипОписание
ArrayArrayИсходный массив (может содержать подмассивы)
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выравнивает массив на один уровень вложенности (без рекурсии).
// Граница: Обязательные параметры: Array
// Результат: Array.

Плоский = A1sAR.Flatten(A1sAR.Of(A1sAR.Of(1, 2), A1sAR.Of(3, 4), A1sAR.Of(5))); // [1, 2, 3, 4, 5]
  Смеш = A1sAR.Flatten(A1sAR.Of(1, A1sAR.Of(2, A1sAR.Of(3, 4)), 5)); // [1, 2, [3, 4], 5] (только 1 уровень)

Вставляет элемент в массив по указанному индексу (неизменяемый метод).

Полная сигнатураInsert(Массив, Индекс, Значение) → Array
ПараметрТипОписание
МассивArrayИсходный массив
ИндексЧислоПозиция вставки (отрицательный индекс → вставка в начало, индекс за пределами → вставка в конец)
ЗначениеПроизвольныйВставляемое значение
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Вставляет элемент в массив по указанному индексу (неизменяемый метод).
// Граница: Обязательные параметры: Массив, Индекс, Значение
// Результат: Array.

НовыйМассив = A1sAR.Insert(A1sAR.Of(1, 3), 1, 2); // [1, 2, 3]
  ВКонце = A1sAR.Insert(A1sAR.Of(1), 5, 2); // [1, 2] (индекс за пределами)
  ВНачало = A1sAR.Insert(A1sAR.Of(2, 3), -1, 1); // [1, 2, 3]

Удаляет элемент из массива по указанному индексу (неизменяемый метод).

Полная сигнатураRemoveAt(Массив, Индекс) → Array
ПараметрТипОписание
МассивArrayИсходный массив
ИндексЧислоПозиция для удаления (если индекс некорректен, возвращается исходный массив)
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Удаляет элемент из массива по указанному индексу (неизменяемый метод).
// Граница: Обязательные параметры: Массив, Индекс
// Результат: Array.

БезВторого = A1sAR.RemoveAt(A1sAR.Of(1, 2, 3), 1); // [1, 3]
  Оригинал = A1sAR.RemoveAt(A1sAR.Of(1, 2, 3), 10); // [1, 2, 3] (индекс за пределами)

Создаёт копию массива с элементами, отсортированными по возрастанию.

Полная сигнатураSort(Массив) → Array
ПараметрТипОписание
МассивArrayИсходный массив
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Создаёт копию массива с элементами, отсортированными по возрастанию.
// Граница: Обязательные параметры: Массив
// Результат: Array.

Отсортированный = A1sAR.Sort(A1sAR.Of(3, 1, 2)); // [1, 2, 3]

Создаёт копию массива с элементами в обратном порядке.

Полная сигнатураReverse(Массив) → Array
ПараметрТипОписание
МассивArrayИсходный массив
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Создаёт копию массива с элементами в обратном порядке.
// Граница: Обязательные параметры: Массив
// Результат: Array.

Разворот = A1sAR.Reverse(A1sAR.Of(1, 2, 3)); // [3, 2, 1]

Глубоко сбрасывает значения элементов массива, заменяя их значениями по умолчанию в соответствии с типами. Поддерживает вложенные массивы, структуры и соответствия.

Полная сигнатураResetDeep(SourceArray) → Array
ПараметрТипОписание
SourceArrayArrayИсходный массив
ВозвращаетArray
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Глубоко сбрасывает значения элементов массива, заменяя их значениями по умолчанию в соответствии с типами. Поддерживает вложенные массивы, структуры и соответствия.
// Граница: Обязательные параметры: SourceArray
// Результат: Array.

Массив = A1sAR.ResetDeep(Значения);

Сбрасывает значения всех элементов массива к значениям по умолчанию для их типов.

Полная сигнатураReset(SourceArray) → Boolean
ПараметрТипОписание
SourceArrayArrayМассив для обработки (изменяется "на месте")
ВозвращаетBoolean
Примерпример из исходника · сигнатура проверена1C
// Намерение: Сбрасывает значения всех элементов массива к значениям по умолчанию для их типов.
// Граница: Обязательные параметры: SourceArray
// Результат: Boolean.

// Пример 1: Простые типы
Arr = A1sAR.Of(100, "Текст", Истина);
A1sAR.Reset(Arr);
// Arr = [0, "", Ложь]

// Пример 2: Составные типы (Ваша фишка!)
RowData = Новый Структура("Код, Наименование", 1, "Яблоко");
Arr2 = A1sAR.Of(RowData, Новый Массив);

A1sAR.Reset(Arr2);
// Arr2 = [НоваяСтруктура{}, НовыйМассив{}]
// Структура и Массив пересозданы "с нуля", старые данные удалены.

Множества

Объединение, пересечение, разность и удаление повторов.

Объединяет до 8 массивов в один результирующий массив.

Полная сигнатураConcatenate(Массив1, Массив2 = Неопределено, Массив3 = Неопределено, Массив4 = Неопределено, Массив5 = Неопределено, Массив6 = Неопределено, Массив7 = Неопределено, Массив8 = Неопределено, ТолькоУникальные = Ложь) → Array
ПараметрТипОписание
Массив1ArrayПервый массив (обязательный)
Массив2ArrayВторой массив (необязательный) По умолчанию: Неопределено.
Массив3ArrayТретий массив (необязательный) По умолчанию: Неопределено.
Массив4ArrayЧетвёртый массив (необязательный) По умолчанию: Неопределено.
Массив5ArrayПятый массив (необязательный) По умолчанию: Неопределено.
Массив6ArrayШестой массив (необязательный) По умолчанию: Неопределено.
Массив7ArrayСедьмой массив (необязательный) По умолчанию: Неопределено.
Массив8ArrayВосьмой массив (необязательный) По умолчанию: Неопределено.
ТолькоУникальныеBooleanЕсли Истина – дубликаты удаляются из результата. По умолчанию: Ложь.
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Объединяет до 8 массивов в один результирующий массив.
// Граница: Обязательные параметры: Массив1
// Результат: Array.

Объединение = A1sAR.Concatenate(A1sAR.Of(1, 2), A1sAR.Of(3, 4)); // [1, 2, 3, 4]
  Уникальное = A1sAR.Concatenate(A1sAR.Of(1, 1), A1sAR.Of(2), Истина); // [1, 2]

Удаляет дубликаты из массива, возвращая новый массив с уникальными элементами.

Полная сигнатураRemoveDuplicates(Массив) → Array
ПараметрТипОписание
МассивArrayИсходный массив
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Удаляет дубликаты из массива, возвращая новый массив с уникальными элементами.
// Граница: Обязательные параметры: Массив
// Результат: Array.

Уникальные = A1sAR.RemoveDuplicates(A1sAR.Of(1, 2, 2, 3, 1)); // [1, 2, 3]

Объединяет до 8 массивов, возвращая только уникальные элементы (множество).

Полная сигнатураUnion(Массив1, Массив2 = Неопределено, Массив3 = Неопределено, Массив4 = Неопределено, Массив5 = Неопределено, Массив6 = Неопределено, Массив7 = Неопределено, Массив8 = Неопределено) → Array
ПараметрТипОписание
Массив1ArrayПервый массив (обязательный)
Массив2ArrayВторой массив (необязательный) По умолчанию: Неопределено.
Массив3ArrayТретий массив (необязательный) По умолчанию: Неопределено.
Массив4ArrayЧетвёртый массив (необязательный) По умолчанию: Неопределено.
Массив5ArrayПятый массив (необязательный) По умолчанию: Неопределено.
Массив6ArrayШестой массив (необязательный) По умолчанию: Неопределено.
Массив7ArrayСедьмой массив (необязательный) По умолчанию: Неопределено.
Массив8ArrayВосьмой массив (необязательный) По умолчанию: Неопределено.
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Объединяет до 8 массивов, возвращая только уникальные элементы (множество).
// Граница: Обязательные параметры: Массив1
// Результат: Array.

Уникальные = A1sAR.Union(A1sAR.Of(1, 2), A1sAR.Of(2, 3)); // [1, 2, 3]

Возвращает элементы, присутствующие во всех переданных массивах (пересечение до 8 массивов).

Полная сигнатураIntersection(Массив1, Массив2 = Неопределено, Массив3 = Неопределено, Массив4 = Неопределено, Массив5 = Неопределено, Массив6 = Неопределено, Массив7 = Неопределено, Массив8 = Неопределено) → Array
ПараметрТипОписание
Массив1ArrayПервый массив (обязательный)
Массив2ArrayВторой массив (необязательный) По умолчанию: Неопределено.
Массив3ArrayТретий массив (необязательный) По умолчанию: Неопределено.
Массив4ArrayЧетвёртый массив (необязательный) По умолчанию: Неопределено.
Массив5ArrayПятый массив (необязательный) По умолчанию: Неопределено.
Массив6ArrayШестой массив (необязательный) По умолчанию: Неопределено.
Массив7ArrayСедьмой массив (необязательный) По умолчанию: Неопределено.
Массив8ArrayВосьмой массив (необязательный) По умолчанию: Неопределено.
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Возвращает элементы, присутствующие во всех переданных массивах (пересечение до 8 массивов).
// Граница: Обязательные параметры: Массив1
// Результат: Array.

Пересечение = A1sAR.Intersection(A1sAR.Of(1, 2, 3), A1sAR.Of(2, 3, 4)); // [2, 3]

Возвращает элементы из первого массива, которых нет в остальных массивах (разность до 8 массивов).

Полная сигнатураDifference(Массив1, Массив2 = Неопределено, Массив3 = Неопределено, Массив4 = Неопределено, Массив5 = Неопределено, Массив6 = Неопределено, Массив7 = Неопределено, Массив8 = Неопределено) → Array
ПараметрТипОписание
Массив1ArrayОсновной массив (обязательный)
Массив2ArrayПервый массив для исключения (необязательный) По умолчанию: Неопределено.
Массив3ArrayВторой массив для исключения (необязательный) По умолчанию: Неопределено.
Массив4ArrayТретий массив для исключения (необязательный) По умолчанию: Неопределено.
Массив5ArrayЧетвёртый массив для исключения (необязательный) По умолчанию: Неопределено.
Массив6ArrayПятый массив для исключения (необязательный) По умолчанию: Неопределено.
Массив7ArrayШестой массив для исключения (необязательный) По умолчанию: Неопределено.
Массив8ArrayСедьмой массив для исключения (необязательный) По умолчанию: Неопределено.
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Возвращает элементы из первого массива, которых нет в остальных массивах (разность до 8 массивов).
// Граница: Обязательные параметры: Массив1
// Результат: Array.

Разность = A1sAR.Difference(A1sAR.Of(1, 2, 3, 4), A1sAR.Of(2, 4)); // [1, 3]

Фильтрация

Выбор элементов по типу и наличию значения.

Выбирает элементы массива, соответствующие указанному типу или типам.

Полная сигнатураPickByType(Array, TypeOrTypes) → Array
ПараметрТипОписание
ArrayArrayИсходный массив
TypeOrTypesТип, Массив, ОписаниеТиповТип или набор типов для фильтрации: - Тип — выбираются элементы точно этого типа; - Массив — выбираются элементы, тип которых входит в массив; - ОписаниеТипов — выбираются элементы, соответствующие описанию.
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выбирает элементы массива, соответствующие указанному типу или типам.
// Граница: Обязательные параметры: Array, TypeOrTypes
// Результат: Array.

// Один тип
  Числа = A1sAR.PickByType(Смешанный, Тип("Число"));
  // Массив типов
  ЧислаИСтроки = A1sAR.PickByType(Смешанный, A1sAR.Of(Тип("Число"), Тип("Строка")));
  // ОписаниеТипов
  Описание = Новый ОписаниеТипов("Число, Строка");
  Результат = A1sAR.PickByType(Смешанный, Описание);

Исключает элементы массива, соответствующие указанному типу или типам.

Полная сигнатураOmitByType(Array, TypeOrTypes) → Array
ПараметрТипОписание
ArrayArrayИсходный массив
TypeOrTypesТип, Массив, ОписаниеТиповТип или набор типов для исключения: - Тип — исключаются элементы точно этого типа; - Массив — исключаются элементы, тип которых входит в массив; - ОписаниеТипов — исключаются элементы, соответствующие описанию.
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Исключает элементы массива, соответствующие указанному типу или типам.
// Граница: Обязательные параметры: Array, TypeOrTypes
// Результат: Array.

// Один тип
  БезЧисел = A1sAR.OmitByType(Смешанный, Тип("Число"));
  // Массив типов
  БезЧиселИСтрок = A1sAR.OmitByType(Смешанный, A1sAR.Of(Тип("Число"), Тип("Строка")));
  // ОписаниеТипов
  Описание = Новый ОписаниеТипов("Число, Строка");
  Результат = A1sAR.OmitByType(Смешанный, Описание);

Выбирает все элементы массива, кроме Неопределено.

Полная сигнатураPickNotNull(Array) → Array
ПараметрТипОписание
ArrayArrayИсходный массив
ВозвращаетArray
Примерпример из исходника · сигнатура проверена1C
// Намерение: Выбирает все элементы массива, кроме Неопределено.
// Граница: Обязательные параметры: Array
// Результат: Array.

БезПустот = A1sAR.PickNotNull(A1sAR.Of(1, Неопределено, 3, Неопределено, 5));
  // Результат: [1, 3, 5]

Типизация

Анализ и преобразование типов элементов.

Собирает все типы значений массива в массив уникальных типов.

Полная сигнатураGetTypes(Array) → Array
ПараметрТипОписание
ArrayArrayИсходный массив
ВозвращаетArray
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Собирает все типы значений массива в массив уникальных типов.
// Граница: Обязательные параметры: Array
// Результат: Array.

Массив = A1sAR.GetTypes(Значения);

Проверяет, являются ли все элементы массива значениями одного типа.

Полная сигнатураIsHomoTyped(Array) → Boolean
ПараметрТипОписание
ArrayArrayИсходный массив
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Проверяет, являются ли все элементы массива значениями одного типа.
// Граница: Обязательные параметры: Array
// Результат: Boolean.

Успешно = A1sAR.IsHomoTyped(Значения);

Преобразует гетерогенный массив в массив, гомогенный по типу. Каждый элемент приводится к указанному типу. Если преобразование невозможно — используется DefaultValue.

Полная сигнатураConvertTo(SourceArray, TargetType, DefaultValue = Неопределено) → Array
ПараметрТипОписание
SourceArrayArrayИсходный массив с элементами произвольных типов
TargetTypeTypeТип, к которому требуется привести элементы (например, Тип("Число"), Тип("Дата"))
DefaultValueArbitraryЗначение, подставляемое при невозможности преобразования По умолчанию: Неопределено.
ВозвращаетArray
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Преобразует гетерогенный массив в массив, гомогенный по типу. Каждый элемент приводится к указанному типу. Если преобразование невозможно — используется DefaultValue.
// Граница: Обязательные параметры: SourceArray, TargetType
// Результат: Array.

Массив = A1sAR.ConvertTo(Значения, TargetType);

Доступ и агрегация

Доступ к элементам, поиск и формирование строк.

Возвращает первый элемент массива или Неопределено, если массив пуст.

Полная сигнатураFirst(Массив) → Arbitrary
ПараметрТипОписание
МассивArrayИсходный массив
ВозвращаетArbitrary
Примерпример из исходника · сигнатура проверена1C
// Намерение: Возвращает первый элемент массива или Неопределено, если массив пуст.
// Граница: Обязательные параметры: Массив
// Результат: Arbitrary.

Первый = A1sAR.First(A1sAR.Of(1, 2, 3)); // 1
  Пусто = A1sAR.First(Новый Массив);       // Неопределено

Возвращает последний элемент массива или Неопределено, если массив пуст.

Полная сигнатураLast(Массив) → Arbitrary
ПараметрТипОписание
МассивArrayИсходный массив
ВозвращаетArbitrary
Примерпример из исходника · сигнатура проверена1C
// Намерение: Возвращает последний элемент массива или Неопределено, если массив пуст.
// Граница: Обязательные параметры: Массив
// Результат: Arbitrary.

Последний = A1sAR.Last(A1sAR.Of(1, 2, 3)); // 3
  Пусто = A1sAR.Last(Новый Массив);          // Неопределено

Проверяет, содержит ли массив указанное значение.

Полная сигнатураContains(Массив, Значение) → Boolean
ПараметрТипОписание
МассивArrayИсходный массив
ЗначениеПроизвольныйИскомое значение
ВозвращаетBoolean
Примерпример из исходника · сигнатура проверена1C
// Намерение: Проверяет, содержит ли массив указанное значение.
// Граница: Обязательные параметры: Массив, Значение
// Результат: Boolean.

Есть = A1sAR.Contains(A1sAR.Of(1, 2, 3), 2); // Истина
  Нет  = A1sAR.Contains(A1sAR.Of(1, 2, 3), 4); // Ложь

Возвращает индекс первого вхождения элемента в массив, или -1, если не найден.

Полная сигнатураIndexOf(Массив, Значение) → Number
ПараметрТипОписание
МассивArrayИсходный массив
ЗначениеПроизвольныйИскомое значение
ВозвращаетNumber
Примерпример из исходника · сигнатура проверена1C
// Намерение: Возвращает индекс первого вхождения элемента в массив, или -1, если не найден.
// Граница: Обязательные параметры: Массив, Значение
// Результат: Number.

Индекс = A1sAR.IndexOf(A1sAR.Of("a", "b", "c"), "b"); // 1
  НеНайден = A1sAR.IndexOf(A1sAR.Of(1, 2, 3), 5);       // -1

Объединяет элементы массива в строку с указанным разделителем.

Полная сигнатураJoin(Массив, Разделитель) → String
ПараметрТипОписание
МассивArrayИсходный массив
РазделительСтрокаРазделитель между элементами
ВозвращаетString
Примерпример из исходника · сигнатура проверена1C
// Намерение: Объединяет элементы массива в строку с указанным разделителем.
// Граница: Обязательные параметры: Массив, Разделитель
// Результат: String.

Строка = A1sAR.Join(A1sAR.Of(1, 2, 3), ", "); // "1, 2, 3"
  Пусто  = A1sAR.Join(Новый Массив, ",");       // ""

Сравнение

Поверхностное и глубокое сравнение коллекций.

Сравнивает два массива примитивных значений на точное равенство. Сравнение выполняется поэлементно оператором <>.

Полная сигнатураEquals(Array1, Array2) → Boolean
ПараметрТипОписание
Array1ArrayПервый массив
Array2ArrayВторой массив
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Сравнивает два массива примитивных значений на точное равенство. Сравнение выполняется поэлементно оператором <>.
// Граница: Обязательные параметры: Array1, Array2
// Результат: Boolean.

Успешно = A1sAR.Equals(Значения, Значения);

Глубокое сравнение двух массивов по значению. Поддерживает вложенные массивы, структуры и соответствия.

Полная сигнатураEqualsDeep(Array1, Array2) → Boolean
ПараметрТипОписание
Array1ArrayПервый массив
Array2ArrayВторой массив
ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Глубокое сравнение двух массивов по значению. Поддерживает вложенные массивы, структуры и соответствия.
// Граница: Обязательные параметры: Array1, Array2
// Результат: Boolean.

Успешно = A1sAR.EqualsDeep(Значения, Значения);

Fluent API

Создание цепочечной обёртки для последовательных операций.

Создаёт fluent-обёртку над массивом для цепочечных вызовов.

Полная сигнатураOn(ИсходныйМассив = Неопределено) → DataProcessorObject.A1sDP_AR
ПараметрТипОписание
ИсходныйМассивArrayМассив для обёртки (необязательный) По умолчанию: Неопределено.
ВозвращаетDataProcessorObject.A1sDP_AR
Примерпример из исходника · сигнатура проверена1C
// Намерение: Создаёт fluent-обёртку над массивом для цепочечных вызовов.
// Граница: Обязательных параметров нет; все параметры необязательны (1).
// Результат: DataProcessorObject.A1sDP_AR.

// Цепочечный вызов:
Результат = A1sAR.On()
    .Add(1).Add(2).Add(3)
    .RemoveDuplicates()
    .Sort()
    .Value();

// С начальным массивом:
Результат = A1sAR.On(СуществующийМассив)
    .Concatenate(ДругойМассив)
    .Reverse()
    .Value();

Тестирование

Самопроверки публичного контракта модуля.

Самотест модуля A1sAR с примерами использования.

Полная сигнатураSelfTest() → Boolean

Параметров нет.

ВозвращаетBoolean
Примерпример добавлен при аудите · сигнатура проверена1C
// Намерение: Самотест модуля A1sAR с примерами использования.
// Граница: Параметров нет.
// Результат: Boolean.

Успешно = A1sAR.SelfTest();