Какие знаешь иммутабельные аналоги sorted

«Какие знаешь иммутабельные аналоги sorted» — вопрос из категории Алгоритмы, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В JavaScript для сортировки массивов без мутации оригинала можно использовать:

  1. Spread оператор + sort():
const arr = [3, 1, 2];
const sorted = [...arr].sort(); // [1, 2, 3]
  1. Array.prototype.slice() + sort():
const sorted = arr.slice().sort();
  1. Array.from() + sort():
const sorted = Array.from(arr).sort();
  1. Для объектов можно использовать structuredClone (если нужна глубокая копия):
const sorted = structuredClone(arr).sort();

Важно помнить, что sort() изменяет исходный массив, поэтому всегда нужно сначала создать копию. Для сложных структур данных могут понадобиться дополнительные методы клонирования.