🍎
🍐
↑ МойМассив
↑ Массив (параметр)

Сортировка

У Массив нет метода сортировки. Чтобы отсортировать значения — переложить в СписокЗначений (или ТаблицаЗначений) и обратно:

Список = Новый СписокЗначений;
Для Каждого Элемент Из Массив Цикл
    Список.Добавить(Элемент);
КонецЦикла;
Список.СортироватьПоЗначению();
 
МассивОтсортированный = Список.ВыгрузитьЗначения();

Передача по ссылке

Массив — ссылочный тип. Передан в процедуру/функцию — там та же ссылка, не копия. Мутация содержимого внутри (Добавить, Удалить, Очистить, Установить) видна и снаружи.

Процедура Мутировать(Массив)
    Массив.Добавить(2);     // меняет содержимое — видно снаружи
КонецПроцедуры
 
Процедура Переприсвоить(Знач Массив)
    Массив = Новый Массив;  // это НЕ уходит наружу — локальная переменная указала на другой объект
КонецПроцедуры
 
МойМассив = Новый Массив;
МойМассив.Добавить(1);
 
Мутировать(МойМассив);      // МойМассив: [1, 2]
Переприсвоить(МойМассив);   // МойМассив всё ещё [1, 2]

Знач защищает только от переприсвоения параметра, а не от мутации его содержимого — это тот же объект. Нужна независимая копия — копировать явно на входе, см. Копирование массива.

Сравнение

Массив1 = Массив2 сравнивает ссылки, а не содержимое. Два массива с одинаковыми элементами, но созданные раздельно, не равны:

Массив1 = Новый Массив;
Массив1.Добавить(1);
 
Массив2 = Новый Массив;
Массив2.Добавить(1);
 
Массив1 = Массив2;  // Ложь — разные объекты, хотя содержимое одинаковое

Поэлементного сравнения «из коробки» нет — сравнивать вручную циклом.

Проверка типа

ТипЗнч(Массив) = Тип("Массив");  // Истина, если Массив — именно Массив

Пригодится, когда переменная может прийти как одиночное значение или как массив значений — типовая развилка в 1С.

Массивы