如何在JavaScript中创建一个具有最大字符数的随机字符串

205 阅读2分钟

如何在JavaScript中创建一个具有最大字符数的随机字符串

在JavaScript中创建你自己的随机数据生成器!

你可以使用一个库来生成JavaScript中的随机数据,但我认为自己动手会更酷。如果你想提高你的JavaScript技能,这些函数是最好的练习。

所以在这篇文章中,我想解释一下如何生成最大字符数的随机字符串。这篇文章是我上一篇文章《如何用JavaScript创建一个随机字符串》的后续。

如果你还没有看过我的 上一篇文章,我强烈建议你去看看。在这篇文章中,我们将继续那篇文章中的最后一个函数。

function randomString() {    return [...Array(5)].map((value) => (Math.random() * 1000000).toString(36).replace('.', '')).join('');}

现在这个函数生成了一个长度可变的随机字符串。

返回值总是不同的。

randomString();'63lklfirmmc2baknxlzou171jyq7q7wnd8ag53r6kv95buvp1qme8ou'randomString();'j9qfsxifdugz5bgfmqfwg3c2jefsidxikhl2c4qjwti6i0zm5y5x5'

但现在,我们要确保它有一定的长度,这样我们就能对生成的数据有更多的控制。

我们只需要确保它开始的数组有这个长度。

最小的长度

为了确保我们至少有函数参数中给出的字符数,我们要让数组的长度更长一些。

[...Array(length + 10)]

固定长度

但是为了防止会更长,我们要取一个子串,所以我们要通过使用substring ,返回准确的字符数。

[...Array(length + 10)].map((value) => (Math.random() * 1000000).toString(36).replace('.', '')).join('').substring(0, length);

如果我们把这些都变成一个函数,这将是我们的结果。

function randomString(length = 50) {    return [...Array(length + 10)].map((value) => (Math.random() * 1000000).toString(36).replace('.', '')).join('').substring(0, length);};

我建议大家玩一玩这个函数,把它用在一些实际的地方。

下一篇文章将是另一个JavaScript练习。