发现flash中好像没有对数组元素进行随机排序的函数, 就自己写了一个. 虽然不是很科学, 起码可以用...
- -!
调用方法: randomOrder (array)
函数会返回一个新数组, 就是该数组随机排序后的结果
例子:
程序代码
var myArray : Array = ["a", "b", "c", "d"]
myArray = randomOrder (myArray )
程序代码
//随机改变数组的排序
function randomOrder (targetArray : Array) : Array
{
var arrayLength : Number = targetArray.length
//
//先创建一个正常顺序的数组
var tempArray1 : Array = []
for (var i = 0; i < arrayLength; i ++)
{
tempArray1 [i] = i
}
//
//再根据上一个数组创建一个随机乱序的数组
var tempArray2 : Array = []
for (var i = 0; i < arrayLength; i ++)
{
//从正常顺序数组中随机抽出元素
tempArray2 [i] = tempArray1.splice (Math.floor (Math.random () * tempArray1.length) , 1)
}
//
//最后创建一个临时数组存储 根据上一个乱序的数组从targetArray中取得数据
var tempArray3 : Array = []
for (var i = 0; i < arrayLength; i ++)
{
tempArray3 [i] = targetArray [tempArray2 [i]]
}
//
//返回最后得出的数组
return tempArray3
}