最近更新
阅读排行
读过本文章的之前读了
读过本文章的之后读了
关注本站

使用sort()方法随机打乱数组

阅读:12792 次   编辑日期:2014-02-24

目录:

概述:

我之前发布过一篇关于随机打乱数组的文章,今天又发现了别人的一个新的方法,使用数组的sort()方法,比我之前的方法牛很多,今天跟大家分享一下。

sort()的用法:

sort()是数组操作的一个方法,之前简单的说过一下,并没有看重,今天用到了就详细的说一下。先看下面的使用方法:
	arrayobj.sort(function);
arrayobj为目标数组,function为sort()方法执行的函数,如果不写这个参数,那么元素将按照 ASCII 字符顺序进行升序排列。
如果有函数,那么sort()方法会把数组中的元素两两传进执行的函数,如果返回为1则调换两个元素的位置,如果返回为-1则不变化。
注意:在执行的过程中,并不会生成新的数组对象。

使用sort()生成随机打乱数组:

看了上面的介绍应该明白了sort()用法,那么我们一起来看一下代码吧:
	function autoSort(a,b){
		//生成随机数跟0.5比较
		return Math.random() >= 0.5 ? 1 : -1;
	}
	var arr = ["a","b","c","d"];
	arr.sort(autoSort);//往autoSort中两两传入数组元素
	alert(arr);//打乱顺序之后的随机数组。
上面的方法就是依赖autoSort()函数产生的随机数,如果>=0.5则返回1,小于0.5则返回-1。 从而sort()也就会随机排序数组了。
如果你还不明白JS数学函数的应用,那么请阅读 《JS常用的数学函数总汇》
将本篇文章分享到:
top