让我们假设我想要一个排序函数,它返回输入数组的排序副本。我很天真地试过
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);
}
但它根本不起作用。
有没有一种直接的方法来解决这个问题,最好是一种不需要手动滚动我自己的排序算法或将数组中的每个元素复制到一个新的数组中的方法?