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

js中sort的用法

arrayobj.sort(sortfunction)  
引數 
arrayObj  
必選項。任意 Array 物件。  
sortFunction  
可選項。是用來確定元素順序的函式的名稱。如果這個引數被省略,那麼元素將按照 ASCII 字元順序進行升序排列。  
說明 
sort 方法將 Array 物件進行適當的排序; 
在執行過程中並不會建立新的 Array 物件。 


如果為 sortfunction 引數提供了一個函式,那麼該函式必須返回下列值之一:  
負值,如果所傳遞的第一個引數比第二個引數小。  
零,如果兩個引數相等。  
正值,如果第一個引數比第二個引數大(才會執行操作)。


Demo1(預設按字母排序)
<script language="javascript">  
  var nameArr = new Array("douguoqiang","hedan","redhacker","panliu888","maxuan","xuejianping","lanse","zhangsan","lisi","wangwu");  
  nameArr.sort();  
  for (var i = 0; i < nameArr.length; i++) {  
    document.writeln(nameArr[i]);  
  }  
</script> 

輸出結果:douguoqiang hedan lanse lisi maxuan panliu888 redhacker wangwu xuejianping zhangsan


demo2(數字排序,sort(prama)方法帶引數)
<script>  
  var numArr = new Array(12,23,1,4,23,34,2,5);  
  numArr.sort(function compare(a,b){return a-b;});  
  for (var i = 0; i<numArr.length; i++) {  
    document.write(numArr[i] +"<br>");  
  }  
</script> 

輸出結果:1、2、4、5、12、23、23、34

demo3(反排序操作)
<script>  
  var numArr = new Array(12,23,1,4,23,34,2,5);  
  numArr.sort(function compare(a,b){return b-a;});  
  //上一句話也可以這樣寫
  numArr.sort(new Function("a","b","return b-a;"));
  for (var i = 0; i<numArr.length; i++) {  
    document.write(numArr[i] +"<br>");  
  }  
</script> 

輸出結果:34 、23 、23 、12 、5 、4 、2 、1