baozhengrui

导航

随机生成数字

/**
 * 随机生成数字
 *
 * 示例:生成长度为 12 的随机数:randomNumber(12)
 * 示例:生成 3~23 之间的随机数:randomNumber(3, 23)
 *
 * @param1 最小值 | 长度
 * @param2 最大值
 * @return int 生成后的数字
 */
export function randomNumber() {
  // 生成 最小值 到 最大值 区间的随机数
  const random = (min, max) => {
    return Math.floor(Math.random() * (max - min + 1) + min)
  }

  if (arguments.length === 1) {
    let [length] = arguments
    // 生成指定长度的随机数字,首位一定不是 0
    let nums = [...Array(length).keys()].map((i) => (i > 0 ? random(0, 9) : random(1, 9)))
    return parseInt(nums.join(''))
  } else if (arguments.length >= 2) {
    let [min, max] = arguments
    return random(min, max)
  } else {
    return Number.NaN
  }
}


[n,m] 范围内的随机整数时
 Math.floor(Math.random() * (m - n + 1)) + n   

posted on 2024-09-10 10:14  芮艺  阅读(33)  评论(0编辑  收藏  举报