JavaScript 随机正数或负数

新手上路,请多包涵

我需要创建一个随机的 -1 或 1 来乘以一个已经存在的数字。问题是我当前的随机函数生成 -1、0 或 1。最有效的方法是什么?

原文由 Ash Blue 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

不要使用您现有的功能 - 只需调用 Math.random() 。如果 < 0.5 则为 -1,否则为 1:

 var plusOrMinus = Math.random() < 0.5 ? -1 : 1;

原文由 ziesemer 发布,翻译遵循 CC BY-SA 3.0 许可协议

我一直很喜欢

Math.round(Math.random()) * 2 - 1

因为它有点道理。

  • Math.round(Math.random()) 会给你0或1

  • 将结果乘以 2 将得到 0 或 2

  • 然后减去 1 得到 -1 或 1。

直觉的!

原文由 majman 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题