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

          JavaScript中的數字排序方法

          Posted on 2007-10-01 09:56 詩特林 閱讀(1920) 評論(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]
          主站蜘蛛池模板: 新宾| 衡阳县| 洪湖市| 呈贡县| 清新县| 济南市| 弥勒县| 敦煌市| 桐柏县| 华坪县| 吴堡县| 文昌市| 公安县| 连云港市| 华容县| 芜湖县| 治县。| 昌邑市| 浙江省| 安远县| 安福县| 黔东| 华亭县| 宜昌市| 庆阳市| 武平县| 浮山县| 炉霍县| 石景山区| 岗巴县| 岢岚县| 老河口市| 兴隆县| 郯城县| 汾西县| 阳曲县| 临湘市| 淮阳县| 郴州市| 南康市| 霞浦县|