javascript非顺序随机数生成器

时间:2012-03-17 00:39:26

标签: javascript math

有没有人知道如何在javascript中创建一个非连续的随机数生成器?我知道如何使用Math.floor(Math.random()*11)执行顺序操作,其中数字将介于0-10之间。我正在寻找一个只吐65,83,68,70的(这些数字是a,s,d,f的字符代码......我正在制作键盘游戏)。我发现的唯一的其他随机数生成器是偏置/非均匀生成器。如果你可以给我一个关于这个被称为甚至如何制作的大致指示,我们将不胜感激。非常感谢!

2 个答案:

答案 0 :(得分:5)

映射您的代码,并且只使用连续索引:

var codes = [ 65, 83, 68, 70 ];
var index = Math.floor(Math.random()*codes.length);
var random_key = codes[index];  // tada!

答案 1 :(得分:2)

js> keymap = Array(65, 83, 68, 70);
[65, 83, 68, 70]
js> print(keymap[Math.floor(Math.random()*4)])
65
js> print(keymap[Math.floor(Math.random()*4)])
70
js> print(keymap[Math.floor(Math.random()*4)])
83
js> print(keymap[Math.floor(Math.random()*4)])
65