如何在画布中获得随机1或-1(javascript)
How to get random 1 or -1 in canvas (javascript)?
如何在画布中获得随机-1或1(不在-1或1之间,只有-1或1,只有这两个值)?
我知道要获得随机数,我可以使用:
Math.random()
但我只想要随机的1或-1。
var plusOrMinus = Math.random() < 0.5 ? -1 : 1;
(请使用搜索第一个JavaScript随机正数或负数)
您可以这样做:
var n = (Math.random()>=0.50)?1:-1;
如果有人不了解ternar运算符的工作原理,我会用另一种方式写同样的运算符:
var value;
if(Math.random() > 0.5) value = 1;
else value = -1;
俯卧撑,固定昏迷。thx。
不使用分支的解决方案:
((Math.random()+0.5)<<1)-1
此解决方案使用的公式将[0,1]间隔匹配到{-1,1}集中
在这里,我使用floor
来做到这一点。
让我们看看如何:如果我在Math.random()
上加0.5,我现在是[0.5,1.5]。
铺地板后,结果在{0,1}集中
现在您可以乘以2=>{0,2}集
现在移除1=>{-1,1}集。
所以公式是这样的:
2*Math.floor(Math.random()+0.5)-1
更快(但更神秘:-))使用轮班操作员:
((Math.random()+0.5)<<1)-1
不幸的是。。。分支速度更快,正如您在这里看到的(在控制台中查看)。
https://jsfiddle.net/h6d8bthd/
相关文章:
- JavaScript随机报价生成器
- Javascript随机显示/隐藏不起作用
- 用JavaScript随机给网页上的每个字母上色的最佳方式是什么
- 按钮被制作成一个图像来执行Javascript随机生成器
- 如何使用JavaScript随机化有序列表
- 使用JavaScript随机化html标记
- Javascript随机名称猜测者:无响应的脚本问题
- 使用 javascript 随机更改表的背景颜色
- JavaScript随机溢出或超出范围
- Javascript随机猜测游戏
- Javascript:随机“对象没有方法”错误,即使使用 jquery.getScript()
- Javascript随机背景图像大小
- Javascript随机如何在同一页面上多次重复相同的时间
- 基于css的页面中的Javascript随机图像生成器
- Javascript随机损坏
- 如何让 JavaScript 随机选择三个选项之一
- JavaScript 随机循环
- Javascript随机背景图像
- JavaScript随机希腊字母不起作用
- JavaScript-随机点击特定的锚定标签