Js中sort()方法的用法

关键字: sort, 排序方法

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

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

一、默认按字母排序
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. }   
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 

二、数字排序,sort(prama)方法带参数
Js代码 //降序函数  

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);   

//降序函数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 
  三、复杂对象排序var arr =  [{"ID":"1001","Name":"cxl"},{"ID":"1002","Name":"gyl"},{"ID":"1003","Name":"jxq"}];//按ID排序arr.sort(function(a,b){        return a.ID - b.ID;}); //按Name排序(可支持汉字的排序)arr.sort(function(a,b){        return a.Name.localeCompare(b.Name);}); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值