如何在画布中获得随机1或-1(javascript)?

如何在画布中获得随机1或-1(javascript)?,javascript,canvas,random,Javascript,Canvas,Random,我怎样才能得到随机-1或1,而不是在-1或1之间,只是-1或1,画布中只有这2个值 我知道要获得随机数,我可以使用: Math.random() 但是我只想要随机的1或-1。你可以这样做: var n = (Math.random()>=0.50)?1:-1; 您可以这样做: var n = (Math.random()>=0.50)?1:-1; 请先使用搜索 请先使用搜索以防有人不了解ternar运算符的工作原理,我会用另一种方式写下同样的内容: var value; if(

我怎样才能得到随机-1或1,而不是在-1或1之间,只是-1或1,画布中只有这2个值

我知道要获得随机数,我可以使用:

Math.random()
但是我只想要随机的1或-1。你可以这样做:

var n = (Math.random()>=0.50)?1:-1;
您可以这样做:

var n = (Math.random()>=0.50)?1:-1;
请先使用搜索


请先使用搜索

以防有人不了解ternar运算符的工作原理,我会用另一种方式写下同样的内容:

var value;
if(Math.random() > 0.5) value = 1;
else value = -1;

ups,固定昏迷。thx.

如果有人不了解ternar运算符的工作原理,我会用另一种方式写下同样的内容:

var value;
if(Math.random() > 0.5) value = 1;
else value = -1;

ups,固定昏迷。thx.

不使用分支的解决方案:

((Math.random()+0.5)<<1)-1
更快但更神秘:-使用shift运算符:

((Math.random()+0.5)<<1)-1
不幸的是。。。正如您在控制台中看到的那样,分支速度更快


不使用分支的解决方案:

((Math.random()+0.5)<<1)-1
更快但更神秘:-使用shift运算符:

((Math.random()+0.5)<<1)-1
不幸的是。。。正如您在控制台中看到的那样,分支速度更快

错误:0,5->0.5错误:0,5->0.5