0
Javascript ile karakter karıştırması yapmak istiyorum. Elimde "EEEEEKKKLLLLLL" gibi bir metin var. Bunu rastgele harfler karışacak şekilde "EKLEEELLKK" gibi bir karıştırma yapmak istiyorum.
Javascript'te hazır metin karıştırma fonksiyonu var mı? Javascript ile metin karıştırma nasıl yapılır?
0
Javascript'te yerleşik bir karıştırma fonksiyou yok. Fakat string karıştırmak için şu yöntemi kullanabilirsin
String.prototype.karistir = function () {
var c = this.split(""), n = c.length;
for (var i = n - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var tmp = c[i];
c[i] = c[j];
c[j] = tmp;
}
return c.join("");
}
Bu kodu kullandığında herhangi bir veri de .karistir() dediğin zaman sana karıştırılmış olarak sonuç döndürülecektir.
Kullanılan algoritma Fisher–Yates shuffle algoritması. Tüm karakterler arasında gezinen bir döngü içinde dizideki elemanın değeri geçici bir değişkene atanıyor ve daha sonra bu değer başka bir dizideki elemanın değeri ile değiştiriliyor.
Bu işlem metnin uzunluğu dahilinde üretilen rastgele bir sayı ile yapılıyor. Sonuçta ortaya karışık bir metin çıkıyor.
Javascript ile bir metin içindeki karakterleri karıştırmak istiyorsan kullanabileceğin güzel bir yöntem.
Cevap yazabilmek için üye girişi yapmalısınız.
Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol