假设我想要一个排序函数,该函数返回输入数组的排序副本。 我尝试了以下代码:
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);
}
但它根本不起作用。
有没有简单的方法绕过这个问题,最好不需要手动编写自己的排序算法或将数组的每个元素复制到一个新数组中?