特别是,我想确保避免Microsoft的BrowserChoice随机代码中的错误。也就是说,我要确保每个字母在每个可能位置出现的可能性均等。
例如,给定“ ABCDEFG”,则返回类似“ GEFBDCA”的内容。
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 "