2012-03-17 51 views
3

有誰知道如何在javascript中創建一個非序列隨機數發生器?我知道如何使用Math.floor(Math.random()*11)做一個連續的數字,其中數字將在0-10之間。我正在尋找一種只會吐出65,83,68,70(這些數字是a,s,d,f ......的字符代碼......我正在製作鍵盤遊戲)。我發現的唯一的其他隨機數發生器是偏向/不均勻的。如果你能給我一個關於這個叫什麼或甚至怎麼做的總體方向,那將不勝感激。非常感謝!javascript非序列隨機數發生器

+1

這裏是一個有趣來源:http://baagoe.com/en/RandomMusings/javascript – 2012-03-17 00:42:05

回答

5

地圖你的代碼,只需使用反正連續指數:

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

感謝,這個工作完美! – mrmo123 2012-03-17 00:47:02

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 
+0

謝謝!這很好用 – mrmo123 2012-03-17 00:55:00

+0

快速,在有人看到它之前將'Array(65,83,68,70)''改爲'[65,83,68,70]';) – 2012-03-17 00:55:42