Math.random ve Math.min/max
Rastgele sayı üretmeyi ve Math.min/Math.max ile sınırları öğrenirsin.
Math.random
Math.random() her çağrıda 0 (dahil) ile 1 (hariç) arasında rastgele bir ondalıklı sayı döner. Yani sonuç 0 olabilir ama 1 olamaz.
Bu aralık çok dardır; çoğu zaman belirli bir tam sayı aralığı isterisin. O zaman Math.floor ile birlikte kullanırsın. Örneğin bir zar atışı için:
const dice = Math.floor(Math.random() * 6) + 1;Burada Math.random() * 6 0 ile 5.999... arasında bir değer verir; Math.floor onu 0-5 aralığına indirir; son olarak + 1 ile 1-6 aralığına kayar.
Math.min ve Math.max
Math.min verilen sayıların en küçüğünü, Math.max ise en büyüğünü döner. İkisi de istediğin kadar argüman alır.
Örneğin bir sınıftaki en yüksek ve en düşük notu bulabilirsin:
const highest = Math.max(65, 82, 91, 78);
const lowest = Math.min(65, 82, 91, 78);Burada highest 91, lowest 65 olur. Bu yöntemler karşılaştırma yazmaktan daha kısadır.
Uygulama Üç zar at, en küçüğü bul
Üç kez zar at: roll1, roll2 ve roll3 değişkenlerine Math.floor(Math.random() * 6) + 1 sonucunu ata. Sonra Math.min ile en küçük atışı lowest değişkenine koy. lowest'i console.log ile yazdır.
Örnek çözümü göster
const roll1 = Math.floor(Math.random() * 6) + 1;
const roll2 = Math.floor(Math.random() * 6) + 1;
const roll3 = Math.floor(Math.random() * 6) + 1;
const lowest = Math.min(roll1, roll2, roll3);
console.log(lowest);
Kendini test et
-
Math.random() hangi aralıkta değer verir?
- 0 (dahil) ile 1 (hariç)
- 0 (hariç) ile 1 (dahil)
- 1 ile 10 arası
- Rastgele tam sayı
Cevabı göster
0 (dahil) ile 1 (hariç) — Doğru. Math.random 0 dönebilir ama 1 asla dönmez; üst sınır hariçtir.
-
Zar atışı (1-6) tamamla
const dice = Math.floor(Math.random() * 6) + ____;Cevabı göster
const dice = Math.floor(Math.random() * 6) + 1; -
Yöntem ve görevini eşleştir
- Math.random
- 0 (dahil) ile 1 (hariç)
- Math.min
- En küçük değeri verir
- Math.max
- En büyük değeri verir
- Math.floor
- Aşağıya tam sayıya
-
Math.max(3, 7, 2) ne döner?
console.log(Math.max(3, 7, 2));- 3
- 2
- 7
- 12
Cevabı göster
7 — Doğru. Math.max en büyük argümanı döner; 3, 7 ve 2 içinde en büyük 7'dir.