相关疑难解决方法(0)

如何在不改变原始数组的情况下对数组进行排序?

假设我想要一个返回输入数组的排序副本的sort函数.我天真地试过这个

function sort(arr) {
  return arr.sort();
}
Run Code Online (Sandbox Code Playgroud)

我用它测试了它,这表明我的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"
Run Code Online (Sandbox Code Playgroud)

我也试过这种方法

function sort(arr) {
  return Array.prototype.sort(arr);
}
Run Code Online (Sandbox Code Playgroud)

但它根本不起作用.

有没有一种简单的方法,优选的方式是不需要手动滚动我自己的排序算法或将数组的每个元素复制到一个新的元素?

javascript

194
推荐指数
7
解决办法
8万
查看次数

标签 统计

javascript ×1