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});
}