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 閱讀(3610) 評論(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

          搜索

          •  

          積分與排名

          • 積分 - 917238
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 桦南县| 仁怀市| 浏阳市| 上犹县| 平昌县| 黄石市| 松江区| 军事| 封开县| 满城县| 孟津县| 全椒县| 历史| 北海市| 旅游| 洪泽县| 汝南县| 小金县| 东乌| 海兴县| 西青区| 抚顺市| 金溪县| 临颍县| 辉县市| 鹤岗市| 商丘市| 通州市| 奉贤区| 保亭| 新河县| 旬阳县| 永兴县| 卢氏县| 泗水县| 蓝田县| 若尔盖县| 余姚市| 墨竹工卡县| 比如县| 桐乡市|