首页 > 代码库 > js中arr.sort的用法

js中arr.sort的用法

sort(sortfunction)为JS的数组对象(Array)的一个方法,提供排序功能 
参数 sortFunction 为可选项,是用来确定排序原则的js函数, 
这个函数有两个参数,分别代表每次排序比较时的两个数组项, 
如果这个函数的返回值小于0 则不交换原数组中元素的位置,否则交换原数组中元素的位置。 

如果这个参数被省略, 那么元素将按照 ASCII 字符顺序进行升序排列。 

Demo1默认按字母排序

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("<br>");    
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("<br>");    
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  

 

js中arr.sort的用法