gpt4 book ai didi

javascript - 在整个字符串中随机分隔字符?

转载 作者:行者123 更新时间:2023-12-03 07:19:29 28 4
gpt4 key购买 nike

要打乱一个字符串,我可以使用这样的东西

String.prototype.shuffle = function () {
var arr = this.split("");
var len = arr.length;
for (var n = len - 1; n > 0; n--) {
m = Math.floor(Math.random() * (n + 1));
tmp = arr[n];
arr[n] = arr[m];
arr[m] = tmp;
}
return arr.join("");
}

但是我怎样才能在保留字符串顺序的同时用 n 个字符随机分隔它呢?

例如:

"test"   =>   "t-es--t"
"test" => "-t-e-st"
"test" => "te--st-"

我考虑过从字符串创建一个列表,生成一个随机数来表示一个索引,然后将列表向左移动,但是有更好的方法吗?

最佳答案

这将在字符串中随机插入 n 个字符 char。如果缺少 char,则默认为空格:

String.prototype.shuffle = function(n, char) {
var arr = this.split(''),
char= char || ' ';

while(n--) {
arr.splice(Math.floor(Math.random() * (arr.length+1)), 0, char);
}

return arr.join('');
} //shuffle

这个 Fiddle 显示了使用该方法的相对随机分布。

关于javascript - 在整个字符串中随机分隔字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30062600/

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