把数组随机排列的简单实现方法

      AC2.0 2007-1-12 11:59

RandomArray.as

class RandomArray {
 public static function randomSort(arr:Array, returnNum:Number):Array {
  var tempArr:Array = new Array(returnNum);
  var returnArr:Array = new Array(returnNum);
  for (var i = 0; i<returnNum; i++) {
   var tempArrNum:Number = Math.floor(Math.random()*tempArr.length);
   returnArr[i] = arr[tempArrNum];
   arr.splice(tempArrNum, 1);
   tempArr.splice(tempArrNum, 1);
  }
  return returnArr;
 }
}

randomSort() 实现的原理是:传入一个数组和返回新数组的长度,根据新数组长度不断减少的基础上随机产出的数组下标。如果代码有些不明白,或者不够好,欢迎指教。

标签集:TAGS:random,array,randomsort
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}