private function shuffle(arr:Array):Array { var n:int = arr.length; for(var i:int = n-1;i>0;i--) { var randomNum:int = int(Math.random()*i); var tmp:int = arr[randomNum]; arr[randomNum]=arr[i]; arr[i] = tmp; } return arr; }
注意:循环的最后一次实际上是i=1,不是i=0;
上面的算法就是: Fisher–Yates shuffe algorithm,有兴趣的朋友可以google一下~~