5.12.数组元素的随机排序

问题
我要打乱数组元素的顺序
解决办法
使用sort( ) 方法和自定义比较函数返回随机的正数或负数
讨论
很多情况我们需要得到一个随机排列的数组,比如有个游戏需要产生随机的字母。

有很多种方法达到这个目的,但是最简单的办法就是创建自定义比较函数,返回随机的正数或负数,把该函数引用传递给sort( ) 方法:
下面的比较函数就能达到目的:
+展开
-ActionScript
function randomSort(elementA:Object, elementB:Object):Number {
return Math.random( ) - .5
}

Math.random( ) 返回0.0 到1.0. 减去0.5 ,正好有一半的几率是负数,一半为正数,因此这个数组经过随机排序
看下面的随机排序例子:
+展开
-ActionScript
var numbers:Array = new Array( );
for(var i:int=0;i<20;i++) {
numbers[i] = i;
}
numbers.sort(randomSort);
for(var i:int=0;i<numbers.length;i++) {
trace(numbers[i]);
}

加支付宝好友偷能量挖...


评论(0)网络
阅读(112)喜欢(0)flash/flex/fcs/AIR