对数组元素进行重新排序主要有两种方法:reverse()和sort(),今天就来讲讲这两种常用的函数。
(1).reverse()-用于颠倒数组中元素的顺序
如下:
<script type="text/javascript">
var vals = ["Mary","John","Tom"];
vals.reverse();
alert(vals); //结果为Tom,John,Mary
</script>
但是reverse()方法不够灵活,比如说对数组元素按顺序排序就不行,因此要用sort()方法来解决!下面重点来讲讲sort()方法!
(2).sort()-对数组元素进行排序
首先来看下面这段js代码:
<script type="text/javascript">
var vals = [5,1,10];
vals.sort();
alert(vals); //结果为1,10,5
</script>
结果是不是出乎意料,没错,结果就是1,10,5,这是因为sort()方法是按照字符编码的顺序进行排序的。
这种结果当然不是我们想要的结果,没关系sort()函数为我们提供了按照其他标准进行排序的方法,
通过比较函数对两个值进行排序,比较函数有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
再看下面这段js代码:
<script type="text/javascript">
//最简单的比较函数,(推荐)
function compare(a,b){
return a-b;
}
var vals = [5,1,10];
vals.sort(compare);
alert(vals); //结果为1,5,10
</script>
这样就实现了数组元素从小到大排序,当然你也可以进行从大到小进行排序,这就不用我多说了吧!