javascript 数组排序

javascript 数组排序发现一个我原来不知道的事情:javascript

test1.html
html

None.gif < html >
None.gif
< body >
ExpandedBlockStart.gifContractedBlock.gif
< script  type ="text/javascript" > dot.gif
InBlock.gif 
var  y  =   new  Array( 10 , 30000 , 12 );
InBlock.gif y.sort();
ExpandedBlockEnd.gif alert(y);
None.gif
</ script >
None.gif
</ body >
None.gif
</ html >

 

排序结果正确(按我自认为从小到大的顺序,暂且把这种观点认为是正确的)。java

test2.html编程

 

None.gif < html >
None.gif
< body >
ExpandedBlockStart.gifContractedBlock.gif 
< script  type ="text/javascript" > dot.gif
InBlock.gif 
var  y  =   new  Array( 36000 , 500 , 10100 );
InBlock.gif y.sort();
ExpandedBlockEnd.gif alert(y);
None.gif
</ script >
None.gif
</ body >
None.gif
</ html >

 

排序结果不正确。数组

当时就纳闷了,随后发现他是按照首字母来排序的。我服了javascript。
随后查看手册解释以下:
函数

None.gif sort 方法
None.gif返回一个元素已经进行了排序的 Array 对象。 
None.gif
None.gifarrayobj.sort(sortfunction) 
None.gif
None.gif参数
None.gifarrayObj
None.gif
None.gif必选项。任意 Array 对象。
None.gif
None.gifsortFunction
None.gif
None.gif可选项。是用来肯定元素顺序的函数的名称。若是这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。
None.gif

 

唉,错怪javascript了,原本人家是说清楚了的。只是我没有看手册,以为java程序里就直接用sort对int 数组排序。没有带什么参数的。spa

终归一句话,我没有仔细看书啊。.net

随后加入:
test2.htmlhtm

 

None.gif < html >
None.gif
< body >
ExpandedBlockStart.gifContractedBlock.gif 
< script  type ="text/javascript" > dot.gif
InBlock.gif 
function  AscSort(x, y) 
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif {
InBlock.gif  
return  x  ==  y  ?   0  : (x  >  y  ?   1  :  - 1 );
ExpandedSubBlockEnd.gif}

InBlock.gif
InBlock.gif
function  DescSort(x, y) 
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif {
InBlock.gif  
return  x  ==  y  ?   0  : (x  >  y  ?   - 1  :  1 );
ExpandedSubBlockEnd.gif}

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

便获得我所谓的正确排序了。呵呵。
因而怀疑java中也不是我想像中的那么个用法,立刻用记事本写了个程序,我通常家里电脑不装IDE ,基本不是用来编程的。因此也没有自动提示之类的。
对象

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

ExpandedSubBlockEnd.gif }

ExpandedBlockEnd.gif}

None.gif

顺利经过,不过经过以前仍是发生太小错误,那就是直接用了x.sort.唉,看来我仍是应该反复复习老知识啊。自从转行写JSP 后(而其中我基本使用JSTL不写一行<%%>因此知识都忘了些。)特此总结,记录。但愿往后能仔细点。