JavaScript数组sort方法

数组对象的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和arr2数组调用sort方法的结果。



可以看到,arr数组本来是"HTML","CSS","JavaScript","DOM"。而sort之后将是 。可见是按照字母顺序排列的,与字典使用的排列顺序一致。

而arr2本来是4,3,2,1,而排序之后则是 。不过这可不是按照数字的大小来排列的,而仍然是按照字母顺序。从arr3.sort()的结果就可以看出来:

10000作为最大的数字却排在了第一位,仅仅是因为它以1开头。

sort方法的参数

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

<script type="text/javascript">
var arr3 = [40,300,2000,10000];
function compare(a,b) {return a - b;}
</script>

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

JavaScript数组对象

  1. JavaScript数组join方法
  2. JavaScript数组concat方法
  3. JavaScript数组sort方法
  4. JavaScript数组push与pop方法
  5. JavaScript数组shift与unshift方法
  6. JavaScript数组slice方法