js对数组元素排序

时间:2017-06-13

对数组元素进行重新排序主要有两种方法: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>

这样就实现了数组元素从小到大排序,当然你也可以进行从大到小进行排序,这就不用我多说了吧!

上一条:jQuery中的ajax的load()函数读取页面 下一条:创建XMLHttpRequest对象的通用方法

相关文章

最新文章