Array.sort()

Posted bengbengbeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Array.sort()相关的知识,希望对你有一定的参考价值。

sort() : 是对数组的元素进行排序,并返回一个数组。默认排序方式是根据字符串的Unicode码表的码点。

由于取决于具体实现,所以无法保证它的时间和空间复杂度。

arr.sort(compareFunction):

  compareFunction is option parameter.

  (1): 如果没有指明compareFunction,则元素会按照转换成字符串的诸个字符的Unicode码点进行排序。

    “B”在“C”之前。

    “80”在“9”之前,因为当80和9比较的时候,会先转换成字符串然后进行Unicode码点的比较。

  (2):如果指明了compareFunction,则元素会按照该函数的返回值进行排序。

    compareFunction(a, b) 返回值小于0  则a在b的前边
    compareFunction(a, b) 返回值等于0  则a和b的相对位置发生不变
    compareFunction(a, b) 返回值大于0  则b在a的前边

  比较函数格式如下:

  

1 function compare(a, b){
2     if(a > b){
3         return 1;
4     }  
5     if(a < b){
6         return -1;
7     }  
8     return 0;              
9 }

  要比较数字而非字符串

    

1 function compareNumbers(a, b){
2      return a - b; 
3 } 
升序
function compareNumbers(a, b){
       return b - a;
}
降序

 

      

以上是关于Array.sort()的主要内容,如果未能解决你的问题,请参考以下文章

与 LINQ 相比,为啥 Array.Sort() 这么慢?

c#中array.sort()用法

Swift初见Swift数组

如何反转 Array.Sort 的方向 - C#

Java中Array.sort()的排序原理

数组Array.sort()排序的方法