• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Joanna Qian
Stay Hungry, Stay Foolish!
博客园    首页    新随笔    联系   管理    订阅  订阅
Javascript中数组的sort方法的分析

定义和用法

JavaScript中sort() 方法用于对数组的元素进行排序, 返回一个元素已经进行了排序的 Array 对象

语法

arrayObject.sort(sortby)
参数描述
sortby 可选。规定排序顺序。必须是函数。

其中:

sortby是可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。

sortby函数有两个参数。分别代表每次排序比较时的两个数组项。sort()排序时每次比较两个数组项都回执行这个参数,并把两个比较的数组项作为参数传递给这个函数。当函数返回值为1的时候就交换两个数组项的顺序,否则就不交换。

如果为 sortby参数提供了一个函数,那么该函数必须返回下列值之一:

  • 负值,如果所传递的第一个参数比第二个参数小。
  • 零,如果两个参数相等。
  • 正值,如果第一个参数比第二个参数大。

返回值

返回一个元素已经进行了排序的 Array 对象。请注意,数组在原数组上进行排序,不生成副本。

案例:

var arrA = [6,2,4,3,5,1];   
arrA.sort();   
document.writeln(arrA);  
//结果是:1,2,3,4,5,6

升序和降序排列

var arrA = [6,2,4,3,5,1];  
    /**//*arrA.sort();  
    document.writeln(arrA);  
    */  
    function desc(x,y)  
    {  
        if (x > y)    
            return -1;  
        if (x < y)            
            return 1;  
    }  
    function asc(x,y)  
    {  
        if (x > y)    
            return 1;  
        if (x < y)            
            return -1;  
    }  
    arrA.sort(desc);    // sort by desc  
    document.writeln(arrA);  
    document.writeln("<br>");  
    arrA.sort(asc);    //sort by asc  
    document.writeln(arrA);  
//输出结果: 
6,5,4,3,2,1  
1,2,3,4,5,6 
奇数排在前面,偶数排在后面
var arrA = [6,2,4,3,5,1];  
arrA.sort( function(x, y) {  
      if (x % 2 ==0)    
            return 1;  
      if (x % 2 !=0)          
            return -1;  
     }  
 );  
document.writeln(arrA);  

 //输出:1,5,3,4,6,2


 

posted on 2013-05-24 04:28  Joanna Qian  阅读(451)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3