关键字: sort, 排序方法

来源:互联网 发布:乐敦cc使用方法知乎 编辑:程序博客网 时间:2024/05/02 02:41
关键字: sort, 排序方法
sort(sortfunction)为javascript的数组对象(Array)的一个方法,提供排序功能
参数 sortFunction 为可选项,是用来确定排序原则的js函数,
这个函数有两个参数,分别代表每次排序比较时的两个数组项,
如果这个函数的返回值小于0 则不交换原数组中元素的位置,否则交换原数组中元素的位置。

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

Demo1默认按字母排序
Js代码 复制代码
  1. var arr = ['b','cc','abc','fzj','xij','acd','yab'];    
  2. arr.sort();    
  3. for (var i = 0; i < arr.length; i++) {    
  4.     document.writeln(nameArr[i]);    
  5. }   

结果:abc acd b cc fzj xij yab

Demo2数字排序,sort(prama)方法带参数
Js代码 复制代码
  1. //降序函数   
  2. var desc = function(x,y)     
  3. {     
  4.     if (x > y)       
  5.         return -1;  //返回一个小于0 的数即可   
  6.     else         
  7.         return 1;  //返回一个大于0 的数即可   
  8. }     
  9. //升序函数   
  10. var asc = function(x,y)     
  11. {     
  12.     if (x > y)       
  13.         return 1;  //返回一个大于0 的数即可   
  14.     else             
  15.         return -1;  //返回一个小于0 的数即可   
  16. }   
  17.   
  18. var arr2 = [4,6,4,2,7,9,0,1];     
  19. arr2.sort(desc); //降序排序   
  20. document.writeln(arr2);     
  21. document.writeln("<br>");     
  22. arr2.sort(asc); //升序排序   
  23. document.writeln(arr2);   

结果:
9,7,6,4,4,2,1,0
0,1,2,4,4,6,7,9

Demo2的简单算法
Js代码 复制代码
  1. var arr2 = [4,6,4,2,7,9,0,1];     
  2. arr2.sort(function(a,b){return a - b});   
  3. document.writeln(arr2);     
  4. document.writeln("<br>");     
  5. arr2.sort(function(a,b){return b - a});   
  6. document.writeln(arr2);   

结果:
0,1,2,4,4,6,7,9
9,7,6,4,4,2,1,0
原创粉丝点击