我想创建一个 4 字母长的字符串,随机包含字符串中的任何字母:“ROYGBV”。
我所做的是这样的:
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 来防止像 4.333123 等随机浮点数。如果不对随机数进行四舍五入,此解决方案如何工作?
另外,|
运营商是什么意思?第二个解决方案中的随机化实际上是如何工作的?