posts - 310, comments - 6939, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          JavaScript中的數(shù)字排序方法

          Posted on 2007-10-01 09:56 詩特林 閱讀(1923) 評論(0)  編輯  收藏 所屬分類: JavaScript
          JavaScript中的數(shù)字排序方法

          1.普通排序
          var a = [0,null,10,11,null,20,100,null,-10,-1,111,2null5];
           a.sort();
           console.log(a); 

           輸出結(jié)果:
          [-1-10010100111112205nullnullnullnull]

          2.一般排序
          function numberAsc(a, b) {     return a - b;}
            var a = [0,null,10,11,null,20,100,null,-10,-1,111,2null5];
                 a.sort(numberAsc);
                 console.log(
          "asc: ", a);

           輸出結(jié)果:
          asc: [-10-1nullnullnull0null25101120100111]

          3.高級排序
          function numberAsc(a, b) {    return a - b;}
                function numberDesc(a, b) {    return b - a;}
                var a = [0,null,10,11,null,20,100,null,-10,-1,111,2null5];
                a.sort(numberAsc);console.log(
          "asc: ", a);
                a.sort(numberDesc)console.log(
          "desc: ", a);
                a.sort(numberAsc);console.log(
          "asc: ", a);
                a.sort(numberDesc)console.log(
          "desc: ", a);

           輸出結(jié)果
          asc: [-10-1nullnullnull0null25101120100111]
              desc: [
          111100201110520nullnullnullnull-1-10]
              asc: [
          -10-1nullnullnullnull025101120100111]
              desc: [
          11110020111052nullnullnull0null-1-10]

          4.終極排序
          var ALMOST_ZERO = -0.00000001;
                 function numberAsc(a, b) {    
                         var left = a != null ? a : ALMOST_ZERO;    
                         var right = b != null ? b : ALMOST_ZERO;    
                         return left - right;
                }

           輸出結(jié)果
          asc: [-10-1nullnullnullnull025101120100111]
              desc: [
          111100201110520nullnullnullnull-1-10]
              asc: [
          -10-1nullnullnullnull025101120100111]
              desc: [
          111100201110520nullnullnullnull-1-10]
          主站蜘蛛池模板: 宣威市| 根河市| 饶河县| 花垣县| 留坝县| 岚皋县| 荆门市| 仁化县| 新余市| 大兴区| 西乌| 左权县| 晋州市| 泗水县| 克拉玛依市| 金门县| 汶川县| 房山区| 手游| 安国市| 宁陕县| 西安市| 金寨县| 奉新县| 普兰店市| 阜阳市| 合肥市| 平泉县| 安塞县| 红安县| 清苑县| 广东省| 怀来县| 资中县| 长子县| 奉新县| 贵溪市| 潼南县| 阿瓦提县| 漠河县| 苏州市|