JavaScriptのstr_shuffle()等価?
-
28-09-2019 - |
質問
以下のような str_shuffle()
PHPの関数、JavaScriptの文字列をシャッフルする際に類似した関数はありますか?
助けてください !
解決
そのような機能は存在しません、あなたは自分でそれを書くでしょう。これが例です:
function shuffle(string) {
var parts = string.split('');
for (var i = parts.length; i > 0;) {
var random = parseInt(Math.random() * i);
var temp = parts[--i];
parts[i] = parts[random];
parts[random] = temp;
}
return parts.join('');
}
alert(shuffle('abcdef'));
他のヒント
php.jsの実装を使用できます。http://phpjs.org/functions/str_shuffle:529
いいえ、文字シーケンスをランダム化する組み込みの文字列方法はありません。
PHP.JS関数の私のversin of my versin
function str_shuffle (str) {
var newStr = [];
if (arguments.length < 1) {
throw 'str_shuffle : Parameter str not specified';
}
if (typeof str !== 'string') {
throw 'str_shuffle : Parameter str ( = ' + str + ') is not a string';
}
str = str.split ('');
while (str.length) {
newStr.push (str.splice (Math.floor (Math.random () * (str.length - 1)) , 1)[0]);
}
return newStr.join ('');
}
プロトタイプとしても行うこともできます。
String.prototype.shuffle = function() {
var parts = this.split('');
for (var i = 0, len = parts.length; i < len; i++) {
var j = Math.floor( Math.random() * ( i + 1 ) );
var temp = parts[i];
parts[i] = parts[j];
parts[j] = temp;
}
return parts.join('');
};
そのようにそれを使用する:
var myString = "Hello";
myString = myString.shuffle();
Lodashをお勧めします シャッフル 働き。
const result = _.shuffle('my_string');
所属していません StackOverflow