Ash*_*lue 41 javascript random
我需要创建一个随机-1或1来乘以已存在的数字.问题是我当前的随机函数生成-1,0或1.这样做的最有效方法是什么?
zie*_*mer 117
不要使用现有功能 - 只需拨打电话即可Math.random()
.如果<0.5则为-1,否则为1:
var plusOrMinus = Math.random() < 0.5 ? -1 : 1;
Run Code Online (Sandbox Code Playgroud)
maj*_*man 49
我一直都是粉丝
Math.round(Math.random()) * 2 - 1
Run Code Online (Sandbox Code Playgroud)
因为它只是有道理.
Math.round(Math.random())
会给你0或1
将结果乘以2将得到0或2
然后减去1会得到-1或1.
直观!
Rob*_*obG 11
就是图个好玩儿:
var plusOrMinus = [-1,1][Math.random()*2|0];
Run Code Online (Sandbox Code Playgroud)
要么
var plusOrMinus = Math.random()*2|0 || -1;
Run Code Online (Sandbox Code Playgroud)
但要使用您认为可维护的内容.
new*_*rts 11
为什么不尝试:
(Math.random() - 0.5) * 2
Run Code Online (Sandbox Code Playgroud)
50%的可能性具有负值,并且还具有生成随机数的额外好处.
或者如果确实需要-1/1:
Math.ceil((Math.random() - 0.5) * 2) < 1 ? -1 : 1;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
51297 次 |
最近记录: |