作者d062637776 (Sylar)
看板Ajax
标题Fw: [请问] java script 1~10不重复乱数
时间Fri Nov 30 14:25:40 2012
※ [本文转录自 ask 看板 #1Gk4Xm7e ]
作者: d062637776 (Sylar) 看板: ask
标题: [请问] java script 1~10不重复乱数
时间: Fri Nov 30 13:47:25 2012
各位好
关於JS的1~10随机取不重复乱数有自行GOOGLE过
找到目前能力勉强还所及的程式码
首先解释genRnd(min, max, takeOut:int)三个参数:分别是最小值,最大值,和要取几
个数。意思就是说你想从最小值到最大值这个区间取几个不重复的随机乱数
function genRnd(min, max, takeOut:int) {
var total:int = max - min + 1;
var remain:int = total;
for (var i:int=1; i<=total; i++) {
this["t" + i] = min + i - 1;
}
for (i=1; i<=takeOut; i++) {
var temp:int = Math.floor(Math.random()*remain + 1);
this["data" + i] = this["t" + temp] ;
for(var j:int=temp; j<=(remain); j++) {
this["t" + j] = this["t"+(j+1)];
}
remain--; }
}
1.想请问这红字部分的this["??"+?]这个用法是什麽 ? 学校还没教过
2.我想取1~10随机1个不重复数然後存到变数num,以这个程式码来说我应该将
哪个输出存到变数num呢?
------------------------------------------
有更好的办法吗
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.196.225
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: d062637776 来自: 59.127.196.225 (11/30 14:30)
1F:推 mrbigmouth:这不是javascript吧? total:int是什麽东西.... 11/30 16:16
2F:推 mrbigmouth:直接num = Math.ceil(Math.random() * 10)就可以了吧? 11/30 16:19
3F:→ mrbigmouth:嗯要不重复 不过下面有人回了 11/30 16:19
4F:→ Darkland:红字的部份,对物件来说 obj.aaa 跟 obj['aaa'] 一样 11/30 19:28