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;
}
降序

      

猜你喜欢

转载自www.cnblogs.com/bengbengbeng/p/10480590.html