【发布时间】:2016-09-01 20:40:53
【问题描述】:
我正在尝试使用以下代码打印出数组的未排序版本和数组的排序版本:
var sortArrayNumber = function(a, b) {
return a - b;
};
var array = [5, 2, 1044, 3, 126];
var sortedArray = [];
sortedArray = array;
sortedArray.sort(sortArrayNumber);
document.write(array + " and " + sortedArray);
这不是我要使用的实际代码,我只是在测试它。 当我使用 jsfiddle 对其进行测试时,它会输出
2,3,5,126,1044 and 2,3,5,126,1044
但我希望它输出
5,2,1044,3,126 and 2,3,5,126,1044
那么,我该如何阻止它这样做呢?
顺便说一句,我正在自学 JavaScript,所以我对它的了解不是很好
【问题讨论】:
-
sort对数组进行就地排序。您需要先克隆数组,然后再对其进行排序。见Copying array by value in JavaScript -
@FelixKling 让它成为答案 :)
标签: javascript arrays sorting