一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

javascript中数组sort方法详解

时间:2014-07-22 编辑:简简单单 来源:一聚教程网

在处理数组的时候,我们有时候需要对数组进行排序,排序的方法有很多种,但是最好最快的就是利用sort方法进行快速的排序。

我们来看一个例子:

 代码如下 复制代码

var arr1 = [6, 3, 4, 1, 2, 5, 7, 3, 0, 9, 8, 10];//这里有一个数字数组

arr1.sort(function(a,b){

return a-b;

});

这种方法是升序的排法,反之,

arr1.sort(function(a,b){

return b-a;

});

这样就是降序的排法。

按字母排序

 代码如下 复制代码

var arr = ['b','cc','abc','fzj','xij','acd','yab'];  
arr.sort();  
for (var i = 0; i < arr.length; i++) {  
    document.writeln(nameArr[i]);  
}  

结果:abc acd b cc fzj xij yab

Demo2数字排序,sort(prama)方法带参数

 代码如下 复制代码

//降序函数 
var desc = function(x,y)   
{   
    if (x > y)     
        return -1;  //返回一个小于0 的数即可 
    else       
        return 1;  //返回一个大于0 的数即可 
}   
//升序函数 
var asc = function(x,y)   
{   
    if (x > y)     
        return 1;  //返回一个大于0 的数即可 
    else           
        return -1;  //返回一个小于0 的数即可 

 
var arr2 = [4,6,4,2,7,9,0,1];   
arr2.sort(desc); //降序排序 
document.writeln(arr2);   
document.writeln("
");   
arr2.sort(asc); //升序排序 
document.writeln(arr2);  
 
结果:
9,7,6,4,4,2,1,0
0,1,2,4,4,6,7,9

 

Demo2的简单算法

 代码如下 复制代码

var arr2 = [4,6,4,2,7,9,0,1];   
arr2.sort(function(a,b){return a - b}); 
document.writeln(arr2);   
document.writeln("
");   
arr2.sort(function(a,b){return b - a}); 
document.writeln(arr2);  
 
结果:

0,1,2,4,4,6,7,9
9,7,6,4,4,2,1,0 

热门栏目