Как вы можете отсортировать массив без изменения исходного массива?
Предположим, мне нужна функция сортировки, которая возвращает отсортированную копию введенного массива. Я наивно пробовал это
function sort(arr) {
return arr.sort();
}
и я проверил это с этим, что показывает, что мойsort
Метод мутирует массив.
var a = [2,3,7,5,3,7,1,3,4];
sort(a);
alert(a); //alerts "1,2,3,3,3,4,5,7,7"
Я тоже попробовал этот подход
function sort(arr) {
return Array.prototype.sort(arr);
}
но это не работает вообще.
Есть ли прямой способ обойти это, предпочтительно способ, который не требует ручного скручивания моего собственного алгоритма сортировки или копирования каждого элемента массива в новый?