javascript 數組排序發現一個我原來不知道的事情:

          test1.html

          < html >
          < body >
          < script  type ="text/javascript" >
           
          var  y  =   new  Array( 10 , 30000 , 12 );
           y.sort();
           alert(y);
          </ script >
          </ body >
          </ html >

           

          排序結果正確(按我自認為從小到大的順序,暫且把這種觀點認為是正確的)。

          test2.html

           

          < html >
          < body >
           
          < script  type ="text/javascript" >
           
          var  y  =   new  Array( 36000 , 500 , 10100 );
           y.sort();
           alert(y);
          </ script >
          </ body >
          </ html >

           

          排序結果不正確。

          當時就納悶了,隨后發現他是按照首字母來排序的。我服了javascript。
          隨后查看手冊解釋如下:

          sort 方法
          返回一個元素已經進行了排序的 Array 對象。 

          arrayobj.sort(sortfunction) 

          參數
          arrayObj

          必選項。任意 Array 對象。

          sortFunction

          可選項。是用來確定元素順序的函數的名稱。如果這個參數被省略,那么元素將按照 ASCII 字符順序進行升序排列。

           

          唉,錯怪javascript了,本來人家是說清楚了的。只是我沒有看手冊,覺得java程序里就直接用sort對int 數組排序。沒有帶什么參數的。

          終歸一句話,我沒有仔細看書啊。

          隨后加入:
          test2.html

           

          < html >
          < body >
           
          < script  type ="text/javascript" >
           
          function  AscSort(x, y) 
          {
            
          return  x  ==  y  ?   0  : (x  >  y  ?   1  :  - 1 );
          }


          function  DescSort(x, y) 
          {
            
          return  x  ==  y  ?   0  : (x  >  y  ?   - 1  :  1 );
          }

           
          var  y  =   new  Array( 36000 , 500 , 10100 );
           y.sort(AscSort);
           alert(y);
          </ script >
          </ body >
          </ html >

          便得到我所謂的正確排序了。呵呵。
          于是懷疑java中也不是我想像中的那么個用法,馬上用記事本寫了個程序,我一般家里電腦不裝IDE ,基本不是用來編程的。所以也沒有自動提示之類的。

          import  java.util. * ;
          public   class  test
          {
           
          public   static   void  main(String []args)
           
          {
            
          int  [] x  =   new   int  [] { 1 , 2 , 3 , 9 , 4 } ;
            Arrays.sort(x,
          0 ,x.length);
            
          for ( int  i = 0 ;i < x.length;i ++ )
            
          {
             System.out.println(x[i]); 
            }

           }

          }

          順利通過,不過通過之前還是發生過小錯誤,那就是直接用了x.sort.唉,看來我還是應該反復復習老知識啊。自從轉行寫JSP 后(而其中我基本使用JSTL不寫一行<%%>所以知識都忘了些。)

          特此總結,記錄。希望日后能仔細點。

          posted on 2007-07-01 03:16 -274°C 閱讀(3600) 評論(4)  編輯  收藏 所屬分類: web前端


          FeedBack:
          # re: 因為我自以為是,所以在javascript犯了個錯誤
          2007-07-01 09:08 | prcvictim
          @watson hua
          關你什么事.冒冒失失闖進來的吧  回復  更多評論
            
          # re: 因為我自以為是,所以在javascript犯了個錯誤[未登錄]
          2007-09-04 12:45 | -274°C
          @你不要臉

          無聊的時候是不是就來我blog丟人來了。  回復  更多評論
            
          # re: javascript 數組排序[未登錄]
          2009-04-03 10:27 | mike
          博主真自戀~  回復  更多評論
            
          # re: javascript 數組排序
          2013-04-17 11:13 | heh
          對于初學者,應該如何學習javascript呢?  回復  更多評論
            

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914066
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 沙田区| 张家口市| 太仆寺旗| 福清市| 兴海县| 洱源县| 六枝特区| 许昌县| 沾益县| 高唐县| 庆城县| 阿城市| 河南省| 兴义市| 武邑县| 辽宁省| 甘南县| 长宁区| 乌拉特中旗| 都江堰市| 绵阳市| 罗江县| 平和县| 临邑县| 吉水县| 宁陵县| 娄烦县| 华亭县| 安宁市| 都昌县| 泾源县| 太和县| 法库县| 荆门市| 鸡泽县| 昭平县| 利辛县| 合江县| 巴里| 呈贡县| 古交市|