我有以下函数生成随机布尔值.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.