as3实现数组的随机排序

package com{
import flash.display.Sprite;
public class ArrayRandom extends Sprite{
   public function ArrayRandom(){
    //创建数组
    var arr:Array=new Array("2","12","23","3","4","a","b","13","6");
    //使用数组,获取5次随机产生的数组
    for(var i:int=0; i<5; i++){
     var arr1=RandArray.randArray(arr);
     trace(arr1);
    }
   }
}
}

RandArray类:

package com{
import flash.display.Sprite;
public class RandArray extends Sprite{
   //定义新方法randArray,把指定数组随机排序
   public static function randArray(_arr:Array):Array{
    var rand:Function=function(){
     var i:Number=Math.random()-0.5;
     if(i<0){
      return -1;
     }else{
      return 1;
     }
    }
    var _ar:Array=_arr.slice();
    _ar.sort(rand);
    return _ar;
   }
}
}

两个as文件同一目录下,在com文件夹下。

可以将数组进行随机排序。

例如下面的结果:

23,12,6,3,4,a,b,13,2
23,6,3,4,2,12,13,a,b
a,b,6,4,23,13,2,3,12
23,b,3,2,4,a,12,13,6
13,2,b,a,6,4,12,23,3

(完)

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