【问题标题】:How to sort one array? [duplicate]如何对一个数组进行排序? [复制]
【发布时间】: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,所以我对它的了解不是很好

【问题讨论】:

标签: javascript arrays sorting


【解决方案1】:

您需要使用Array#slice 对原始数组的副本应用排序,

slice() 方法将数组的一部分的浅拷贝返回到新的数组对象中。

因为排序工作到位。

sortedArray = array.slice();

【讨论】:

    猜你喜欢
    • 2021-11-01
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2019-12-11
    • 1970-01-01
    相关资源
    最近更新 更多