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()的主要内容,如果未能解决你的问题,请参考以下文章