我们来看一下JS中sort()和reverse()这两个函数的函数
reverse();这个函数是用来进行倒序,这个没有什么可说的,所谓倒序就是大的在前面,小的在后面。
eg:
var array1 = [0,1,5,10,15];
array1.reverse();//结果为:15,10,5,1,0
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值。
eg1:
var array1 = [0,1,5,10,15];
array1.sort();//结果为:0,1,10,15,5
请注意,上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:
function sortNumber(a,b){ return a - b } var array1 = [10,1,1,5,15];
array1.sort(sortNumber) //结果为:0,1,5,10,15
eg2:
var array1 = ["George","Jonhn","Thomas","James","Adrew","Martin"];
array1.sort();//结果为:Adrew,George,James,John,Martin,Thomas