gpt4 book ai didi

javascript - 在 JavaScript 中每隔一个空格插入随机数

转载 作者:行者123 更新时间:2023-11-28 17:52:50 25 4
gpt4 key购买 nike

我希望能够采用一个由字符串形式的数字组成的变量,例如将其称为 str,并在其中每隔一个空格插入一个 1 到 10 之间的随机数那个字符串。现在我有这个代码:

str.toString().match(/.{1}/g).join((Math.floor((Math.random() * 10) 
+ 1)).toString())

这几乎可以做到这一点,但是它会生成一个随机数并每次插入该随机数,而不是为每个其他空间生成新的随机数。例如,如果 str = '1234567890',我希望它变成类似 18293547596173889302 的内容,但我得到类似 182838485868789808 的内容。任何帮助将不胜感激,谢谢!

最佳答案

您显示的代码计算 (Math.floor((Math.random() * 10)
+ 1)).toString()
部分一次,并将结果传递给 .join() 方法。

我会考虑使用字符串 .replace() 方法,因为这样您就可以使用每次替换都会调用一次的函数:

var str = '1234567890'

var output = str.replace(/./g, function(m) {
return m + Math.floor((Math.random() * 10) + 1)
})

console.log(output)

/./g 匹配每个字符,一次一个,并且匹配的字符将传递给回调函数,以便您可以在替换中使用它。

请注意,+ 连接运算符会自动将随机数转换为字符串,因此您无需自己调用 .toString()

编辑:请注意,您的原始 .join() 代码在现有数字之间插入了新数字,因此在之后没有添加任何内容输入的最后一个字符,但您的示例输出在每个现有数字(包括最后一个数字)之后添加了一个随机数字。我的代码执行后者。如果您不想在末尾添加最后一个随机数字,可以通过对结果调用 .slice(0, -1) 将其删除。

关于javascript - 在 JavaScript 中每隔一个空格插入随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45093976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com