将原有数组打乱:

var arr:Array = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6]
disorder(arr);
trace(arr)
function disorder(arr:Array):Array
{
var len:uint = arr.length;
var cache:*, ti:uint;
//将i位置于随即的ti位置互换
for (var i:uint = 0; i < len; i++)
{
ti = int(Math.random() * len);
cache = arr[i];
arr[i] = arr[ti];
arr[ti] = cache;
}
while (--i >= 0)
{
ti = int(Math.random() * len);
cache = arr[i];
arr[i] = arr[ti];
arr[ti] = cache;
}
return arr;
}
disorder(arr);
trace(arr)
function disorder(arr:Array):Array
{
var len:uint = arr.length;
var cache:*, ti:uint;
//将i位置于随即的ti位置互换
for (var i:uint = 0; i < len; i++)
{
ti = int(Math.random() * len);
cache = arr[i];
arr[i] = arr[ti];
arr[ti] = cache;
}
while (--i >= 0)
{
ti = int(Math.random() * len);
cache = arr[i];
arr[i] = arr[ti];
arr[ti] = cache;
}
return arr;
}
创建一个随机数组:

function RandomArray(n:int):Array
{
var my_array:Array = new Array();
var i:int = 0;
for (i = 0; i < n; i++)
{
my_array.push(i);
}
for (i = 0; i < n; i++)
{
var tmp1:int = Math.random() * n;
var tmp2:int = my_array[i];
my_array[i] = my_array[tmp1];
my_array[tmp1] = tmp2;
}
return my_array
}
trace(RandomArray(35));
//随机生成 35个 在1到35 之间的 不重复的数字
//避免对数组消耗大的操作 比如push、splice 就可以提高速度了
{
var my_array:Array = new Array();
var i:int = 0;
for (i = 0; i < n; i++)
{
my_array.push(i);
}
for (i = 0; i < n; i++)
{
var tmp1:int = Math.random() * n;
var tmp2:int = my_array[i];
my_array[i] = my_array[tmp1];
my_array[tmp1] = tmp2;
}
return my_array
}
trace(RandomArray(35));
//随机生成 35个 在1到35 之间的 不重复的数字
//避免对数组消耗大的操作 比如push、splice 就可以提高速度了
比较两个方法~~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述