我想創建一個4個字母的長字符串,RANDOMLY包含字符串中的任何字母:「ROYGBV」。靈活使用Math.random
我所做的一切是這樣的:
function generateSolution(){
var colors = "ROYGBV";
var str = "";
for (var i=0; i<4; i++) {
var loc = Math.ceil(Math.random()*colors.length);
str += colors.charAt(loc);
}
return str;
}
但這似乎不正確的,這是爲什麼?
也,這是從鍛鍊的解決方案:
str += colors.charAt((Math.random() * 6) | 0);
我使用Math.ceil在我的解決方案,以防止randoming花車像4.333123等。這個解決方案如何工作,而不是將隨機數字四捨五入?
另外,運營商|
是什麼意思?以及第二種解決方案中的隨機化實際上如何工作?
缺少靛藍? –
@frrlod:一旦你收到答案,你爲什麼這麼改變你的問題? – Matt
我想強調問題的第二部分,但你是對的。感謝您的編輯。 – frrlod