例1,test1.html
复制代码 代码示例:
<html>
<body>
<script type ="text/
javascript">
var y = new Array( 10 , 30000 , 12 );
y.sort();
alert(y);
</script>
</body>
</html>
排序结果正确。
例2,test2.html
复制代码 代码示例:
<html>
<body>
<script type ="text/javascript">
//
javascript 数组排序
//www.jb200.com
var y = new Array( 36000 , 500 , 10100 );
y.sort();
alert(y);
</ script>
</ body>
</ html>
排序结果不正确。
原来它是按照首字母来排序的。
查看javascript手册中的解释如下:
sort 方法
返回一个元素已经进行了排序的 Array 对象。
arrayobj.sort(sortfunction)
参数
arrayObj
必选项。任意 Array 对象。
sortFunction
可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。
随后加入:
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中也不是想像中的那么个用法。
用以下的例子检测下。
复制代码 代码示例:
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不写一行<%%>所以知识都忘了些。)
就介绍这些吧,希望有助于大家掌握javascript数组排序的知识。
脚本学堂,祝大家学习进步。