AS3数组随机排序

//随机排列数组元素在游戏开发等项目中会经常用到,下面就是演示的代码(为了方便,一些简单的代码都是直接在flash时间轴上就可以运行的)

/*
* taxis是排序的比较函数
* 参数就是要比较的两个数组元素,这里是要随机排列,对数组元素没有进行比较
* 返回值应该是-1,0或1
*/
function taxis(element1:*,element2:*):int{
var num:Number=Math.random();
if(num<0.5){
   return -1;
}else{
   return 1;
}
}

var arr:Array=["c","b","a","3","2","1"];
trace("原来的数组:"+arr);//输出:c,b,a,3,2,1

arr.sort(taxis);
trace("第一次排序:"+arr);//随机排序后的数组arr

arr.sort(taxis);
trace("第二次排序:"+arr);//随机排序后的数组arr

arr.sort(taxis);
trace("第三次排序:"+arr);//随机排序后的数组arr

arr.sort();
trace("按 Unicode 值排序:"+arr);//输出:1,2,3,a,b,c

 

 

 

//--------------------------------------简洁-----------------------------------------//

 

/** 随机排列数组里的顺序 */

function randomArr(arr:Array):Array {
        return arr.sort (function(){return Math.random ()>.5});

posted @ 2011-12-13 15:12  rob_2010  阅读(694)  评论(0编辑  收藏  举报