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

 
   
 

转载于:https://www.cnblogs.com/JoannaQ/archive/2013/05/24/3096133.html

猜你喜欢

转载自blog.csdn.net/weixin_33762321/article/details/93056356