Читайте дальше...
Создание массива
// Создание пустого массива
Массив = Новый Массив;
// Создание массива с определенным количеством элементов
Массив = Новый Массив(5); // Массив из 5 элементов
// Создание и инициализация массива
Массив = Новый Массив;
Массив.Добавить(1);
Массив.Добавить(2);
Массив.Добавить(3);
// Альтернативный способ инициализации
Массив = Новый Массив;
Массив = {1, 2, 3, 4, 5};
Основные операции с массивом
// Добавление элементов
Массив = Новый Массив;
Массив.Добавить("Элемент 1");
Массив.Добавить("Элемент 2");
// Вставка элемента по индексу
Массив.Вставить(1, "Новый элемент"); // Вставит на позицию 1
// Получение количества элементов
Количество = Массив.Количество(); // Вернет 3
// Получение элемента по индексу
Элемент = Массив[0]; // Первый элемент
Элемент = Массив.Получить(0); // Альтернативный способ
// Изменение элемента по индексу
Массив[0] = "Измененный элемент";
Массив.Установить(0, "Измененный элемент"); // Альтернативный способ
// Удаление элемента по индексу
Массив.Удалить(1); // Удалит элемент с индексом 1
// Очистка массива
Массив.Очистить();
Поиск в массиве
Массив = Новый Массив;
Массив.Добавить("Яблоко");
Массив.Добавить("Банан");
Массив.Добавить("Апельсин");
// Поиск элемента
Индекс = Массив.Найти("Банан"); // Вернет 1, если найден, иначе Неопределено
// Проверка наличия элемента
Найден = Массив.Найти("Апельсин") Неопределено; // Вернет Истина
// Поиск по условию (в версиях 8.3.11 и выше)
Индекс = Массив.НайтиПоУсловию(Элемент => Элемент = "Банан");
Сортировка массива
Массив = {5, 3, 8, 1, 4};
// Сортировка по возрастанию
Массив.Сортировать();
// Сортировка по убыванию
Массив.Сортировать(НаправлениеСортировки.Убыв);
// Сортировка строк
МассивСтрок = {"Яблоко", "Банан", "Апельсин"};
МассивСтрок.Сортировать();
Многомерные массивы
// Создание двумерного массива
Матрица = Новый Массив(3, 2);
// Заполнение двумерного массива
Матрица[0][0] = 1;
Матрица[0][1] = 2;
Матрица[1][0] = 3;
Матрица[1][1] = 4;
Матрица[2][0] = 5;
Матрица[2][1] = 6;
// Альтернативный способ создания
Матрица = Новый Массив;
Матрица.Добавить(Новый Массив);
Матрица[0].Добавить(1);
Матрица[0].Добавить(2);
Матрица.Добавить(Новый Массив);
Матрица[1].Добавить(3);
Матрица[1].Добавить(4);
Перебор элементов массива
Массив = {10, 20, 30, 40, 50};
// Перебор с помощью цикла Для
Для Каждого Элемент Из Массив Цикл
Сообщить(Элемент);
КонецЦикла;
// Перебор с помощью цикла Для по индексам
Для Индекс = 0 По Массив.Количество() - 1 Цикл
Сообщить(Массив[Индекс]);
КонецЦикла;
Копирование массива
ИсходныйМассив = {1, 2, 3, 4, 5};
// Поверхностное копирование
КопияМассива = Новый Массив;
Для Каждого Элемент Из ИсходныйМассив Цикл
КопияМассива.Добавить(Элемент);
КонецЦикла;
// Альтернативный способ (в новых версиях)
КопияМассива = Новый Массив(ИсходныйМассив);
Фильтрация массива
// В версиях 8.3.11 и выше можно использовать Фильтр
ИсходныйМассив = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
ОтфильтрованныйМассив = ИсходныйМассив.Фильтр(Элемент => Элемент % 2 = 0); // Только четные
// В более старых версиях
ОтфильтрованныйМассив = Новый Массив;
Для Каждого Элемент Из ИсходныйМассив Цикл
Если Элемент % 2 = 0 Тогда
ОтфильтрованныйМассив.Добавить(Элемент);
КонецЕсли;
КонецЦикла;
Преобразование массива
// Преобразование с помощью метода Преобразовать (8.3.11+)
ИсходныйМассив = {1, 2, 3, 4, 5};
НовыйМассив = ИсходныйМассив.Преобразовать(Элемент => Элемент * 2); // Умножаем каждый элемент на 2
// В старых версиях
НовыйМассив = Новый Массив;
Для Каждого Элемент Из ИсходныйМассив Цикл
НовыйМассив.Добавить(Элемент * 2);
КонецЦикла;
Работа с массивом как стеком или очередью
// Стек (LIFO)
Стек = Новый Массив;
Стек.Добавить(1); // Push
Стек.Добавить(2);
Значение = Стек[Стек.Количество() - 1]; // Peek
Значение = Стек.Удалить(Стек.Количество() - 1); // Pop
// Очередь (FIFO)
Очередь = Новый Массив;
Очередь.Добавить(1); // Enqueue
Очередь.Добавить(2);
Значение = Очередь[0]; // Peek
Значение = Очередь.Удалить(0); // Dequeue
Это основные примеры работы с массивами в 1С. В зависимости от версии платформы могут быть доступны дополнительные методы.








