JavaScript数组sort方法(数组排序)
2010-08-28 17:32
871 查看
数组对象的sort方法可以按照一定的顺序把数组元素重新排列起来。通常情况下,都是按照字母顺序排列的。
JavaScript代码
<script type="text/javascript">
var arr = ["HTML","CSS","JavaScript","DOM"];
var arr2 = [4,3,2,1];
var arr3 = [40,300,2000,10000];
</script>
复制代码测试数组的sort方法
arr.sort();方法:可以看到,arr数组本来是"HTML","CSS","JavaScript","DOM"。而sort之后将是" <script type="text/javascript"></script> CSS","DOM","HTML","JavaScript" 。
arr2.sort();方法:而arr2本来是4,3,2,1,而排序之后则是 <script type="text/javascript"></script> 1,2,3,4 。不过这可不是按照数字的大小来排列的,而仍然是按照字母顺序。从arr3.sort()的结果就可以看出来。
arr3.sort()方法:数组排列之后的顺序是10000,2000,300,40,10000作为最大的数字却排在了第一位,仅仅是因为它以1开头。
sort方法的参数
sort方法可以接受一个参数,这个参数的类型是函数,它也就是排序函数了。我们可以使用它来进行自定义的排序方式。例如,我们可以让上面的数字数组按照大小的方式排序。看下面的JS代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
var arr3 = [40,300,200,10000];
function compare(a,b)
{
return b-a;
}
function test()
{
arr3.sort(compare);
alert(arr3.join());
}
</script>
</head>
<body>
<input type="button" value="text"
</body>
</html>
复制代码在执行arr3.sort(compare)方法时,当我们使用自定义的compare函数进行排序的时候,10000这个最大的数字已经顺利地排到最后了(顺序是:40,300,200,10000)。从代码中我们可以观察出来,sort是根据排序函数的返回值是正还是负来排序的。所以如果compare函数写成 return b - a; 则排序后的顺序为:10000,200,300,40
JavaScript代码
<script type="text/javascript">
var arr = ["HTML","CSS","JavaScript","DOM"];
var arr2 = [4,3,2,1];
var arr3 = [40,300,2000,10000];
</script>
复制代码测试数组的sort方法
arr.sort();方法:可以看到,arr数组本来是"HTML","CSS","JavaScript","DOM"。而sort之后将是" <script type="text/javascript"></script> CSS","DOM","HTML","JavaScript" 。
arr2.sort();方法:而arr2本来是4,3,2,1,而排序之后则是 <script type="text/javascript"></script> 1,2,3,4 。不过这可不是按照数字的大小来排列的,而仍然是按照字母顺序。从arr3.sort()的结果就可以看出来。
arr3.sort()方法:数组排列之后的顺序是10000,2000,300,40,10000作为最大的数字却排在了第一位,仅仅是因为它以1开头。
sort方法的参数
sort方法可以接受一个参数,这个参数的类型是函数,它也就是排序函数了。我们可以使用它来进行自定义的排序方式。例如,我们可以让上面的数字数组按照大小的方式排序。看下面的JS代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
var arr3 = [40,300,200,10000];
function compare(a,b)
{
return b-a;
}
function test()
{
arr3.sort(compare);
alert(arr3.join());
}
</script>
</head>
<body>
<input type="button" value="text"
</body>
</html>
复制代码在执行arr3.sort(compare)方法时,当我们使用自定义的compare函数进行排序的时候,10000这个最大的数字已经顺利地排到最后了(顺序是:40,300,200,10000)。从代码中我们可以观察出来,sort是根据排序函数的返回值是正还是负来排序的。所以如果compare函数写成 return b - a; 则排序后的顺序为:10000,200,300,40
相关文章推荐
- javascript 数组排序sort方法和自我实现排序方法的学习小结 by FungLeo
- 浅谈JavaScript--Array数组sort()排序方法与自定义比较器的使用
- Javascript数组的排序 sort()方法和reverse()方法
- Javascript数组的排序 sort()方法和reverse()方法
- Javascript数组的排序 sort()方法和reverse()方法
- JavaScript sort() 方法数组排序文字【每日一段代码92】
- Javascript数组的排序:sort()方法和reverse()方法
- javascript中数组排序方法sort()用法
- javascript数组(1) ——sort的工作原理及其他数组排序方法
- JavaScript 使用sort()方法来给数组排序
- Javascript数组的排序 sort()方法和reverse()方法
- JavaScript 使用 sort() 方法从数值上对数组进行排序
- JavaScript sort数组排序方法和自我实现排序方法小结
- JavaScript数组排序reverse()和sort()方法详解
- JavaScript sort() 方法数组排序数字【每日一段代码93】
- JavaScript中数组Array.sort()排序方法详解
- Javascript中数组的sort()和reverse()方法
- 利用sort()方法对数组排序
- 回调函数及数组中sort()方法实现排序的原理
- JavaScript 数组(Array) sort 排序函数实现的简单高阶函数原理