A1sCode Главная Библиотека Стандарты
Reference Static API Справочник статических функций модуля A1sAR для работы с массивами в 1С
Creation Создание массивов

Of(P1, P2, ..., P40)

→ Массив

Создаёт массив из переданных значений. Поддерживает до 40 параметров, включая Неопределено.

Примеры использования Of()
// Простой массив
Числа = A1sAR.Of(1, 2, 3, 4, 5);

// С Неопределено (новое в v2.0!)
Данные = A1sAR.Of(100, Неопределено, 200);
// [100, Неопределено, 200]

// Смешанные типы
Смеш = A1sAR.Of(1, "текст", Истина, ТекущаяДата());

OfN(Size, Value)

→ Массив

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

Примеры использования OfN()
// 10 нулей
Нули = A1sAR.OfN(10, 0);

// 5 пустых строк
Пустые = A1sAR.OfN(5, "");

// 100 флагов Ложь
Флаги = A1sAR.OfN(100, Ложь);

OfFixed(P1, P2, ..., P40)

→ ФиксированныйМассив

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

Примеры использования OfFixed()
// Константы
Месяцы = A1sAR.OfFixed("Янв", "Фев", "Мар", "Апр");

// Попытка изменить вызовет ошибку
// Месяцы[0] = "Январь"; // Ошибка!

Fill(Array, Value)

→ Массив

Заполняет существующий массив указанным значением.

Пример использования Fill()
Массив = Новый Массив(5);
A1sAR.Fill(Массив, 0);
// [0, 0, 0, 0, 0]
Access Доступ к элементам

First(Array)

→ Любой

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

Примеры использования First()
Первый = A1sAR.First(A1sAR.Of(10, 20, 30)); // 10
Пусто = A1sAR.First(A1sAR.Of());            // Неопределено

Last(Array)

→ Любой

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

Пример использования Last()
Последний = A1sAR.Last(A1sAR.Of(10, 20, 30)); // 30

Contains(Array, Value)

→ Булево

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

Примеры использования Contains()
Числа = A1sAR.Of(1, 2, 3, 4, 5);

A1sAR.Contains(Числа, 3);  // Истина
A1sAR.Contains(Числа, 99); // Ложь

IndexOf(Array, Value)

→ Число

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

Примеры использования IndexOf()
Буквы = A1sAR.Of("a", "b", "c", "b");

A1sAR.IndexOf(Буквы, "b"); // 1
A1sAR.IndexOf(Буквы, "z"); // -1

IsEmpty(Array)

→ Булево

Проверяет, пуст ли массив.

Примеры использования IsEmpty()
A1sAR.IsEmpty(A1sAR.Of());        // Истина
A1sAR.IsEmpty(A1sAR.Of(1, 2, 3)); // Ложь
Set Operations Операции с множествами До 8 массивов одновременно

Union(A1, A2, ..., A8)

→ Массив

Объединение массивов (уникальные элементы). Аналог SQL UNION.

Пример объединения массивов
А = A1sAR.Of(1, 2, 3);
Б = A1sAR.Of(3, 4, 5);
В = A1sAR.Of(5, 6, 7);

Объед = A1sAR.Union(А, Б, В);
// [1, 2, 3, 4, 5, 6, 7]

Intersection(A1, A2, ..., A8)

→ Массив

Пересечение массивов (только общие элементы). Аналог SQL INTERSECT.

Пример пересечения массивов
А = A1sAR.Of(1, 2, 3, 4);
Б = A1sAR.Of(3, 4, 5, 6);

Общие = A1sAR.Intersection(А, Б);
// [3, 4]

Difference(A1, A2, ..., A8)

→ Массив

Разность массивов (элементы A1, которых нет в остальных). Аналог SQL EXCEPT.

Пример разности массивов
Все = A1sAR.Of(1, 2, 3, 4, 5);
Исключить = A1sAR.Of(2, 4);

Разность = A1sAR.Difference(Все, Исключить);
// [1, 3, 5]

Concatenate(A1, A2, ..., A8)

→ Массив

Склейка массивов (с сохранением дубликатов).

Пример склейки массивов
А = A1sAR.Of(1, 2);
Б = A1sAR.Of(2, 3);

Склейка = A1sAR.Concatenate(А, Б);
// [1, 2, 2, 3]
Typing Типизация Фильтрация и анализ по типам данных

PickNumbers(Array)

→ Массив

Выбирает только числа из массива.

Пример фильтрации чисел
Смеш = A1sAR.Of(1, "a", 2, Истина, 3);
Числа = A1sAR.PickNumbers(Смеш);
// [1, 2, 3]

PickStrings(Array)

→ Массив

Выбирает только строки из массива.

PickDates(Array)

→ Массив

Выбирает только даты из массива.

PickFilled(Array)

→ Массив

Выбирает только заполненные значения (не пустые).

PickNotNull(Array)

→ Массив

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

GroupByType(Array)

→ Структура

Группирует элементы массива по типам данных.

Пример группировки по типам
Смеш = A1sAR.Of(1, "a", 2, "b", Истина);
Группы = A1sAR.GroupByType(Смеш);
// Группы.Число = [1, 2]
// Группы.Строка = ["a", "b"]
// Группы.Булево = [Истина]

IsHomoTyped(Array)

→ Булево

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

Примеры проверки однородности
A1sAR.IsHomoTyped(A1sAR.Of(1, 2, 3));        // Истина
A1sAR.IsHomoTyped(A1sAR.Of(1, "a", Истина)); // Ложь

MostFrequentType(Array)

→ Тип

Возвращает наиболее часто встречающийся тип в массиве.

Split Разделение массивов

Split(Array, Separator, IncludeSeparator = Ложь)

→ Структура {Before, After}

Разделяет массив по значению-разделителю.

Пример разделения по значению
Данные = A1sAR.Of(1, 2, "---", 3, 4);
Части = A1sAR.Split(Данные, "---");
// Части.Before = [1, 2]
// Части.After = [3, 4]

SplitAt(Array, Index)

→ Структура {Before, After}

Разделяет массив по индексу позиции.

Пример разделения по индексу
Данные = A1sAR.Of(1, 2, 3, 4, 5);
Части = A1sAR.SplitAt(Данные, 2);
// Части.Before = [1, 2]
// Части.After = [3, 4, 5]
Compare Сравнение массивов

Equals(Array1, Array2)

→ Булево

Сравнивает два массива на равенство (первый уровень вложенности).

EqualsDeep(Array1, Array2)

→ Булево

Глубокое сравнение массивов (рекурсивно по всем уровням вложенности).

Это ещё не всё! Fluent API позволяет строить цепочки вызовов для ещё более компактного кода ⛓️ Fluent API →