一尘不染

如何在JavaScript中对字符串中的字符进行随机播放?

javascript

特别是,我想确保避免Microsoft的BrowserChoice随机代码中的错误。也就是说,我要确保每个字母在每个可能位置出现的可能性均等。

例如,给定“ ABCDEFG”,则返回类似“ GEFBDCA”的内容。


阅读 282

收藏
2020-05-01

共1个答案

一尘不染

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("");
}
console.log("the quick brown fox jumps over the lazy dog".shuffle());
//-> "veolrm  hth  ke opynug tusbxq ocrad ofeizwj"

console.log("the quick brown fox jumps over the lazy dog".shuffle());
//-> "o dt hutpe u iqrxj  yaenbwoolhsvmkcger ozf "
2020-05-01