【发布时间】:2014-08-22 03:40:51
【问题描述】:
我正在尝试改组单词。我想先用其各自的字母来洗牌。目前它正在将 First 与 Second 字母混合在一起..
我想拆分单词并随机播放“sFtir Seocdn”。
String.prototype.shuffle = function () {
var a = this.split(""),
n = a.length;
for (var i = n - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
return a.join("");
}
alert("First Second".shuffle());
我尝试按以下代码拆分,但它只拆分和随机播放单词而不是字母。
var a = this.split(" "),
return a.join(" ");
Jsfiddle 链接:http://jsfiddle.net/9L8rs/1/ 请建议我该怎么做。
【问题讨论】:
-
您需要对单个单词调用 shuffle...
-
首先用空格分割,然后循环遍历这些结果,并用
string.split('')分割。然后洗牌并加入 -
除了 VisioN 的回答之外,还有一个解决方案,将所有内容都保存在
shuffle中(因此使用shuffle的代码不必担心文字):jsfiddle.net/7hjg4。但我想这取决于你期望如何使用它
标签: javascript jquery random split shuffle