生成随机布尔值70%True,30%false

TSR*_*TSR 1 javascript random

我有以下函数生成随机布尔值.choose_direction:function(){

 var random_boolean = Math.random() >= 0.5;
    if (random_boolean) {
        trade.call()
        prev_trade.goingUp = true
        console.log('Trade: CALL!!!!!!!!!!!!!!!!!!!!!!')
    } else {
        trade.put()
        prev_trade.goingUp = false
        console.log('Trade: PUT!!!!!!!!!!!!!!!!!!!!!!!!')
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我需要分发不公平.更具体地说,我希望输出为70%的时间为真,30%的时间为假.

Ion*_*zău 12

而不是>= 0.5你只需要< 0.7:

var random_boolean = Math.random() < 0.7;
// 70% this will be true, 30% false
Run Code Online (Sandbox Code Playgroud)

作为@plasmacel评论,Math.random()返回一个值之间0和1(包括0但不1:[0, 1)),所以因此我们做的< 0.7.