1. 程式人生 > >js中arr.sort的用法

js中arr.sort的用法

數組 blog tool dem 默認 tar 返回 java document

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的用法