Ответ
В JavaScript для сортировки массивов без мутации оригинала можно использовать:
- Spread оператор + sort():
const arr = [3, 1, 2];
const sorted = [...arr].sort(); // [1, 2, 3]
- Array.prototype.slice() + sort():
const sorted = arr.slice().sort();
- Array.from() + sort():
const sorted = Array.from(arr).sort();
- Для объектов можно использовать structuredClone (если нужна глубокая копия):
const sorted = structuredClone(arr).sort();
Важно помнить, что sort() изменяет исходный массив, поэтому всегда нужно сначала создать копию. Для сложных структур данных могут понадобиться дополнительные методы клонирования.