我有一个数字介于 1-3 之间的变量。
我需要在 1-3 之间随机生成一个新数字,但它不能与上一个相同。
它循环发生数百次。
最有效的方法是什么?
最佳答案
愿模运算的力量对你有所帮助!!
此函数使用模运算符执行您想要的操作:
/**
* generate(1) will produce 2 or 3 with probablity .5
* generate(2) will produce 1 or 3 with probablity .5
* ... you get the idea.
*/
function generate(nb) {
rnd = Math.round(Math.random())
return 1 + (nb + rnd) % 3
}
如果你想避免函数调用,你可以内联代码。
关于javascript - 生成一个新的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10189408/