javascript - 生成一个新的随机数

标签 javascript

我有一个数字介于 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/

相关文章:

javascript - 更好的 Observable typescript 模式 if x of Observable<X> else y of Observable<Y>

javascript - Leaflet - 在没有插件的情况下切换 GeoJSON 层

javascript - 类按钮超时

javascript - jQuery - 复选框启用/禁用 - 带数据库

javascript - 全日历.io : how to display one event per line in agendaWeek then mix all in one?

javascript - 如何在 GET 请求中发送 x-csrf-token?

javascript - 按对象值选择数组索引

javascript - 多个切换链接

javascript - 使用jquery ajax使用.net从客户端上传文件

javascript - 跨域iFrames通信问题