首页 > 代码库 > javascript Array对象sort()方法

javascript Array对象sort()方法

sort() 方法用于对数组的元素进行排序。

语法
arrayObject.sort(sortby)
sortby 可选。规定排序顺序。必须是函数。
sort()方法返回对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。
要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。
比较函数应该具有两个参数 a 和 b,其返回值如下:
?若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
?若 a 等于 b,则返回 0。
?若 a 大于 b,则返回一个大于 0 的值。

例子 1
创建一个数组,并按字母顺序进行排序:

<script type="text/javascript">var arr = new Array(6)arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"arr[3] = "James"arr[4] = "Adrew"arr[5] = "Martin"document.write(arr + "<br />")document.write(arr.sort())</script>

输出:
George,John,Thomas,James,Adrew,Martin
Adrew,George,James,John,Martin,Thomas

例子 2
创建一个数组,并按字母顺序和按数字大小排序进行排序:

<script type="text/javascript">function sortNumber(a,b){ return a - b}var arr = new Array(6)arr[0] = "10"arr[1] = "5"arr[2] = "40"arr[3] = "25"arr[4] = "1000"arr[5] = "1"document.write(arr + "<br />")document.write(arr.sort()+ "<br />")document.write(arr.sort(sortNumber))</script>

输出:
10,5,40,25,1000,1
1,10,1000,25,40,5
1,5,10,25,40,1000

 

javascript Array对象sort()方法