Javascript Rastgele Sayı Oluşturma

Herkese merhaba, Javascript yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda Javascript ile rastgele sayı oluşturmayı anlatacağım. Hadi başlayalım !
Table of Contents
Math Sınıfı ve Rastgele Sayı Oluşturma
Javascript ile rastgele sayı oluşturabilmek için Math sınıfı altındaki statik olarak bulunan random() fonksiyonunu kullanmamız gerekiyor ve bu fonksiyon herhangi bir parametre almadan çalışıyor. Geriye ise 0 ile 1 arasında rastgele bir noktalı sayı döndürüyor. Sadece 0 ile 1 arasında rastgele sayı oluşturuyor fakat daha büyük aralıklar arasında rastgele sayı isterseniz o halde biraz kod yazmamız gerekiyor. 0 ile 1 arasında olan bir sayıyı örneğin 10 ile çarparak büyütebiliriz ve bu seferde 0 ile 10 arasında rastgele bir sayı üretmiş oluruz. İşte bu şekilde Math.random() fonksiyonunun ürettiği sayıyı büyüterek daha geniş aralıklarda rastgele sayılar üretebiliriz. Örneğin 0 ile 10 arasında rastgele bir sayı üretmek istediğimizde şöyle bir kullanım yapmamız gerekiyor;
const rastgele = Math.random() * 10;
Tabi Math.random() geriye noktalı sayı döndüreceği için 10 ile çarpınca da noktalı sayı oluşacaktır. Tam sayı üretmek istiyorsanız bu yeni sayıyı Math.floor() fonksiyonunu kullanarak yuvarlamanız gerekiyor. Math.floor() fonksiyonu bir tane parametre alıyor ve parametre olarak aldığı sayıdan küçük en yakın tam sayıyı döndürüyor. Yani 0 ile 10 arasında rastgele bir tam sayı oluşturmak istediğinizde kodumuzun yeni hali şu şekilde oluyor;
const rastgele = Math.floor(Math.random() * 10);
İki Aralık Arasında Rastgele Sayı Oluşturma
Hep 0 ile x sayısı arasında mı üretiyoruz diye soracak olursanız, cevabı hayır. Örneğin 10 ile 1000 arasında da rastgele bir sayı üretebilirsiniz. Yani alt limit her zaman 0 olmak zorunda değil. Bunun için kodumuzda bir değişiklik daha yapmamız gerekiyor. Örneğin alt limite min, üst limite max dersek kodumuzun yeni hali şöyle olacaktır;
Math.floor(Math.random() * (max - min)) + min;
Bu kodu inceleyecek olursak, üst limitten alt limiti çıkarıp farkı bulduk ve Math.random() ile üretilen rastgele sayıyla çarptık. Bu çarpım sonucunu Math.floor() ile kendisinden küçük en yakın tam sayıya yuvarladık ve buraya kadar olan kısmın sıfır çıkması ihtimaline karşı alt limit ile topladık. Sonuç olarak min ile max arasında rastgele bir tam sayı oluşturduk.
Math.random() fonksiyonu geriye 0-1 aralığında rastgele bir sayı oluşturur dedik ya, 0 sayısını oluşturabilir fakat hiçbir zaman 1 sayısını oluşturmaz çünkü üst limit dahil değildir. Peki üst limiti nasıl dahil edebilirim, yani 1-10 arasında rastgele bir sayı oluşturulsun ama 10’da oluşturulabilsin diye soracak olursanız o zaman tüm işlem sonucuna 1 eklememiz gerekiyor. Çünkü 1-10 arasında rastgele bir sayı oluşturduğunuzda 10 hiçbir zaman oluşturulmayacak, 9 oluşturulacak ya; +1 ekleyerek 10 sayısını da elde etmiş olabiliriz.
Örnek Kodlar
Şimdi bunlara göre birkaç örnek yapalım;
const rastgele = Math.random(); // 0-1 arasında 1 dahil olmadan rastgele ondalıklı bir sayı
const rastgele2 = Math.floor(Math.random() * 10); // 0-10 arasında 10 dahil olmadan rastgele bir tam sayı
const rastgele3 = Math.floor(Math.random() * (10 - 5)) + 5; // 5-10 arasında 10 dahil olmadan rastgele bir tam sayı
const rastgele4 = Math.random() * (10 - 5) + 5; // 5-10 arasında 10 dahil olmadan rastgele ondalıklı bir sayı
const rastgele5 = Math.floor(Math.random() * 10 + 1) // 0-10 arasında 10 dahil olacak şekilde rastgele bir tam sayı
const rastgele6 = Math.floor(Math.random() * (10 - 5 + 1)) + 5; // 5-10 arasında 10 dahil olacak şekilde rastgele bir tam sayı
Evet Javascript ile rastgele sayı oluşturma bu şekilde yapılmakta. Tüm Javascript yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.