我有一个有点奇怪的要求,我需要生成用户给出的长度的随机数。用户可以给出最小长度
和最大长度
,我需要生成由该范围之间的字符长度组成的随机数。
例如,如果最小长度
是6
并且最大长度
是10
那么我需要生成字符数必须在 6
和 10
范围之间的随机数。对于此示例,以下可以是随机生成器:
123456,
7654321,
12345678,
987654321,
5432109876, etc.
像这样,随机生成器必须包含提供的输入之间的长度。
我知道如何在一定范围内基于固定字符长度创建随机数,但我不知道如何基于可变长度创建随机数。我尝试寻找答案,但大多数答案都是基于固定长度和固定范围,无法找到我正在寻找的精确匹配。
如果有人能帮助我解决这个问题,那就太好了。
最佳答案
您可以生成一个数组(Array.from()
,长度在 minLen
和 maxLen
范围内随机选择),并用 1 到 9 范围内的随机数字填充该数组,然后 Array.prototype.join()
将数组转换为字符串并转换为数字:
const randomNum = (minLen, maxLen) =>
+Array
.from(
{length: 0|Math.random()*(maxLen-minLen+1)+minLen},
() => 0|Math.random()*9+1
)
.join('')
console.log(randomNum(3,7))
关于javascript - 如何根据提供的最小和最大字符范围在 Javascript 中生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62468165/