最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
javascript中sort()排序实例介绍
时间:2013-12-07 编辑:简简单单 来源:一聚教程网
在默认情况下,sort()方法按升序排列数组项目——即最小的值位于最前面,最大的值位于最后面。为了实现排序,sort()方法会调用每个数组项的toString()转型方法,然后比较得到的字符串,以确定如何排序。即使数组中的每一项都是数值,sort()方法比较的也是字符串,如下所示:
代码如下 | 复制代码 |
var value=[8,10,0,5,20]; |
可见,即使例子中值的顺序没有问题,但sort()方法也会根据测试字符串的结果改变原来的顺序。因为数值5虽然小于10,但是在进行字符串比较时候5位于10的前面,于是数组的顺序就被修改了,不用说,这种排序方式在很多情况下都不是最佳方案。因此sort()方法可以接收一个比较函数作为参数,以便我们指定那个值位于哪个值前面。
比较函数接收两个参数,如果第一个参数应该位于第二个参数前面则返回一个负数,如果两个参数相等则返回0,如果第一个参数位于第二个参数之后则返回一个正数。以下就是一个简单的比较函数:
代码如下 | 复制代码 |
对于数值类型或者其valueof()方法会返回数值类型的对象类型,可以使用一个更简单的比较函数。这个函数只要第二个值减去第一个值即可。
代码如下 | 复制代码 |
function va(value1,value2){ return value2-value1; }//升序 function vac(value1,value2){ return value1-value2; }//降序 var co=[88,22,44,11,20] co.sort(va) var ka=[99,22,44,88,23] ka.sort(vac) document.write(co+' '); document.write(ka) |
如果只是想反转数组原来的顺序,使用reveres()方法会更快一点。
如下:
代码如下 | 复制代码 |
|
另外,可以直接把一个无名函数直接放到sort()方法的调用中。如下的例子是将奇数排在前面,偶数排在后面,例子如下:
代码如下 | 复制代码 |
|
相关文章
- Javascript中常用的排序算法(实例) 01-22
- Javascript实现表格排序实例代码 11-01
- HTML简单购物数量小程序代码展示 10-31
- html canvas实现弹幕功能 10-31
- HTML中空格表示的意义 10-31
- html area标签解读 10-31