DEV Community

Cui Mingda
Cui Mingda

Posted on • Edited on

How to generate randomly integer number with sign in JavaScript

凭直觉第一反应,可能是封装一下Math.random(),但考虑到效率,这是最不建议的方式,使用random组件更痛快,这里的min和max都是包含的,也省去思考区间范围的烦恼

import random from 'random';
const randomInteger = random.int(min, max);
Enter fullscreen mode Exit fullscreen mode

进一步的,比如默认值是0,我们希望随机修改为其他的一个整数,有可能是正整数,有可能是负的,但不能是0,应该怎么搞呢?一个函数搞定

const randomNonZeroInteger = (min, max) => random.int(min, max) || randomNonZeroInteger(min, max);
Enter fullscreen mode Exit fullscreen mode

再进一步,如果我们希望生成一个跟指定值不同的随机数

const randomIntExcept = (value) => {
  const randomInt = random.int(magic.result.min, magic.result.max);
  if (value === randomInt) {
    return randomIntExcept(value);
  }

  return randomInt;
};
Enter fullscreen mode Exit fullscreen mode

References

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More