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

          JavaScript中的數字排序方法

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

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

           輸出結果:
          [-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);

           輸出結果:
          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);

           輸出結果
          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;
                }

           輸出結果
          asc: [-10-1nullnullnullnull025101120100111]
              desc: [
          111100201110520nullnullnullnull-1-10]
              asc: [
          -10-1nullnullnullnull025101120100111]
              desc: [
          111100201110520nullnullnullnull-1-10]
          主站蜘蛛池模板: 麻城市| 揭西县| 南投县| 木兰县| 土默特右旗| 黑河市| 理塘县| 灌阳县| 清远市| 伊吾县| 东光县| 蓬莱市| 米脂县| 都昌县| 明光市| 武城县| 竹溪县| 五寨县| 大石桥市| 怀宁县| 宝坻区| 博客| 达日县| 海淀区| 凭祥市| 乌拉特后旗| 乌拉特前旗| 疏附县| 永顺县| 固阳县| 广东省| 横山县| 牙克石市| 雅江县| 长治县| 惠安县| 巫山县| 杭锦后旗| 永定县| 达州市| 奇台县|