我需要创建一个随机-1或1来乘以一个已经存在的数字。问题是我目前的随机函数产生-1,0或1.这样做的最有效方法是什么?
用 Math.random()
即可。如果< 0.5,那么-1,否则1:
var plusOrMinus = Math.random() < 0.5 ? -1 : 1;
解析:
- Math.random()会给你[0,1],
- 小于0.5,三目运算结果为true,那就取值-1,
- 大于0.5,三目运算结果为false,那就取值1。
或者这样:
Math.round(Math.random()) * 2 - 1
解析:
- Math.round(Math.random())会给你0或1,
- 乘以2的结果会给你0或2,
- 再减去1给你-1或1。