Bu yazımda JavaScript random kullanımı yani rastgele sayı üretme konusunu anlatacağım.
Math.random() metodu 0 (dahil) ile 1 (hariç) arasında rastgele sayı üretmemizi sağlar. Örneğin;
1 2 3 4 5 6 7 |
<script> console.log(Math.random()); </script> |
Çıktısı : 0.4126329821786203
Math.random() metodu her zaman 0 (dahil) ile 1 (hariç) arasında sayı ürettiği için bazen bu sayıların daha büyük veya tam sayı olmasını isteyebiliyoruz.
Bu gibi durumlarda Math.floor() metodunu kullanıyoruz. Math.floor() metodu ile ilgili daha fazla bilgi için JavaScript Matematiksel İşlemler (Math Nesnesi) yazımı okuyabilirsiniz.
Örneğin 0 (dahil) ile 11 (hariç) arasında bir tam sayı üretmek için aşağıdaki kodu kullanabiliriz.
1 2 3 4 5 6 7 |
<script> console.log(Math.floor(Math.random() * 11)); </script> |
Kodu her çalıştırdığınızda 0 (dahil) ile 11 (hariç) arasında bir tam sayı üretecektir.
Aynı üretimi farklı bir şekilde daha elde edebiliriz.
1 2 3 4 5 6 7 |
<script> console.log(Math.floor(Math.random() * 10) + 1); </script> |
Rastgele sayı üretmek için bir fonksiyon yazabiliriz.
Yazacağımız fonksiyonda, üretilmesini istediğimiz rastgele sayıların min ve max aralığını parametre olarak verelim.
Rastgele Sayı Üretecek Fonksiyon
1 2 3 4 5 6 7 8 9 |
<script> function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min) ) + min; } </script> |
Bu fonksiyon her zaman min (dahil) ve max (hariç) arasında rastgele bir sayı üretir.
Eğer min (dahil) ve max (dahil) arasında rastgele bir sayı üretmek istiyorsanız aşağıdaki fonksiyonu kullanabilirsiniz.
1 2 3 4 5 6 7 8 9 |
<script> function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1) ) + min; } </script> |
Yazdığımız fonksiyonu kullanarak 1 (dahil) ile 10 (dahil) arasında rastgele bir tam sayı üretelim.
1 2 3 4 5 6 7 8 9 10 11 |
<script> function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1) ) + min; } console.log(getRandomInt(1,10)); </script> |
JavaScript random kullanımı bu şekilde. Umarım sizin için faydalı bir yazı olmuştur.
Yeni bir yazımda görüşmek üzere.