zoukankan      html  css  js  c++  java
  • 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

    
    
    
  • 相关阅读:
    PHP中的list(),each(),reset()函数应用
    echo(),print(),print_r()
    Math.floor() 与 parseInt()
    利用Node.js轻松创建web服务器
    MySQL中Datetime与Timestamp
    修正正则匹配日期---基于网络未知大神的正则
    数据结构随笔-php实现栈
    数据结构随笔-php实现队列
    Js 获取时间戳
    linux 安装nginx+php+mysql
  • 原文地址:https://www.cnblogs.com/JoannaQ/p/3096133.html
Copyright © 2011-2022 走看看