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

 
  

 

你可能感兴趣的:(JavaScript)