PHP程序员站--PHP编程开发平台
 当前位置:主页 >> 网页制作 >> Javascript >> 

JavaScript数组系列函数之sort函数用法

JavaScript数组系列函数之sort函数用法

来源:phperz.com  作者:phperz.com  发布时间:2008-12-14
数组对象的sort方法可以按照一定的顺序把数组元素重新排列起来

数组对象的sort方法可以按照一定的顺序把数组元素重新排列起来即数组排序类似php中的array_multisort 。通常情况下,都是按照字幕顺序排列。

例:

以下为引用的内容:
<script type="text/javascript">
var arr = new Array("HTML","CSS","JavaScript","DOM");
var arr_2 = new Array("4","2","3","1");
var arr_3 = new Array("d","b","a","c");
var arr_4 = new Array("200","300","10000","4");
var arr_5 = new Array("a","300","10000","4","b");

document.write(arr.sort()+"<br>");
//输出: CSS,DOM,HTML,JavaScript

document.write(arr_2.sort()+"<br>");
//输出: 1,2,3,4

document.write(arr_3.sort()+"<br>");
//输出: a,b,c,d

document.write(arr_4.sort()+"<br>");
//输出: 10000,200,300,4

document.write(arr_5.sort()+"<br>");
//输出: 10000,300,4,a,b

</script>

通过运行结果我们可以看出:

arr和arr_3这种元素为字符串的数组,不管单个元素字符串的长短,是按照头字母顺序排列的,与字典使用的排列顺序一致。

arr_2和arr_4 和字符串一样,可见他不是按照数字的大小来排列的,而仍然是按照头数字顺序来排的。10000作为最大的数字却排在了第一位,仅仅是因为它以1开头。

而arr_5这种 字符串与数字混合的数组,排序时数字的权重要比字符串大,先数字再字符串

sort方法的参数

sort方法可以接受一个参数,这个参数的类型是函数,它也就是排序函数了。我们可以使用它来进行自定义的排序方式。例如,我们可以让上面的数字数组按照大小的方式排序。看下面的JS代码:

以下为引用的内容:
<script type="text/javascript">
 var arr_6 = Array("200","300","10000","4");
 function compare(a,b) {return a - b;}
 
 document.write(arr_6.sort(compare)+"<br>");
 //输出:4,200,300,10000
</script>

当我们使用自定义的compare函数进行排序的时候,10000这个最大的数字已经顺利地排到最后了。从代码中我们可以观察出来,sort是根据排序函数的返回值是正还是负来排序的。

Tags: js   javascript   数组   sort   array   函数   array   java   ip   C   as  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号