[AS3]as3数组随机的实现
[AS3]我们也许想在代码中使用随机化的数字序列,为了在不同的场合让代码表现的不一样。因为在AS3中我们没法用数组洗牌方法,所有只有自己写一些代码来实现这种效果了
我们也许想在代码中使用随机化的数字序列,为了在不同的场合让代码表现的不一样。因为在AS3中我们没法用数组洗牌方法,所有只有自己写一些代码来实现这种效果了。
这里,我用AS3给出了实现随机数组的不同方法。最关键的一点是没有使用循环语句。
下面就是我列举出来的随机化数组的不同算法:
1.没有循环语句法:
- var rawArr:Array = ["1","2","3","4","5"];
- trace(randomizeArray(rawArr));
- function randomizeArray(myArray:Array):Array
- {
- myArray.sort(function(){ return Math.random()-0.5; });
- return myArray;
- }
2.用for循环法:
- var rawArr:Array = ["1","2","3","4","5"];
- trace(randomizeArray(rawArr));
- function randomizeArray(myArray:Array):Array
- {
- for (var i:uint = 0; i < myArray.length; i++)
- {
- var rand:uint = int(Math.random() * myArray.length);
- myArray.push( myArray.splice( rand, 1 )[0] );
- }
- return myArray;
- }
3.用while循环法:
- var rawArr:Array = ["1","2","3","4","5"];
- trace(randomizeArray(rawArr));
- function randomizeArray(array:Array):Array
- {
- var newnewArray:Array = new Array();
- while (array.length > 0)
- {
- newArray.push(array.splice(Math.floor(Math.random()*array.length), 1));
- }
- return newArray;
- }
随机取值
- var list:String="CuPlayer_test1.jpg|CuPlayer_test2.jpg|CuPlayer_test3.jpg|CuPlayer_test4.jpg";
- var words:Array=list.split("|");//以空格作为分隔符将字符串切割
- //trace(words);//输出
- //var ranNum:Array=["test.jpg","test23.jpg","test2.jpg","test4.jpg"];
- //trace(ranNum[Math.floor(Math.random() * ranNum.length)]);
- trace(words[Math.floor(Math.random() * words.length)]);
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...