javascript - “unsorting”数组 - 让数组恢复到 .sort javascript 之前的状态

标签 javascript sorting

如果我有一个数组列表并用以下方法对其进行排序:

myArrayList.sort(function(a, b) { return a - b });

是否可以在不备份未排序数组的情况下将“myArrayList”恢复到 .sort 发生之前的顺序?可以这么说,撤消排序。

最佳答案

是的,使用之前制作的副本 Array#slice()就像这样,排序之前

The slice() method returns a shallow copy of a portion of an array into a new array object.

var myArrayListCopy = myArrayList.slice();

var myArrayList = [1000, 5, 2, 8, 42, 101, 111, 20],
    myArrayListCopy = myArrayList.slice(); // make copy from unsorted array first

document.write('<pre>original ' + JSON.stringify(myArrayList, 0, 4) + '</pre>');
myArrayList.sort(function (a, b) { return a - b; });
document.write('<pre>sorted ' + JSON.stringify(myArrayList, 0, 4) + '</pre>');
myArrayList = myArrayListCopy; // assign backup
document.write('<pre>from backup ' + JSON.stringify(myArrayList, 0, 4) + '</pre>');

关于javascript - “unsorting”数组 - 让数组恢复到 .sort javascript 之前的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36151163/

相关文章:

python - 气泡排序开关和旋转挑战

javascript - dygraph 改变线条颜色

java - Collat​​or:如何在规则中添加空格?

c# - 为什么在对 ItemsSource 进行排序时 ComboBox 会丢失其 SelectedItem?

javascript - 如何检测 Controller 中 ng-change 中的 null 值

python - 使用 .sort() 对列表中的数据进行排序

python - 如何在 Python 中对列表进行排序和过滤?

javascript - 如何在我的项目中使用 angular/material 版本 7.0.1 组件?

Javascript 无法访问函数外的全局变量

javascript - '数据库名称必须是一个字符串'连接我的连接字符串时出错