V JavaScriptu můžete použít Math. random()
funkce pro generování pseudonáhodného plovoucího čísla mezi 0 (včetně) a 1 (exkluzivní).
const random = Math.random();
console.log(random);
// 0.5362036769798451
Pokud chcete získat náhodné číslo mezi 0 a 20, stačí vynásobit výsledky Math.random()
do 20:
const random = Math.random() * 20;
console.log(random);
// 15.40476356200032
Chcete-li vygenerovat náhodné celé číslo, můžete použít následující Math
metody spolu s Math.random()
:
Math.ceil()
— Zaokrouhlí číslo nahoru na nejbližší celé čísloMath.floor()
— Zaokrouhlí číslo dolů na nejbližší celé čísloMath.round()
— Zaokrouhlí číslo na nejbližší celé číslo
Použijme Math.floor()
zaokrouhlit plovoucí číslo generované Math.random()
na celé číslo:
const random = Math.floor(Math.random() * 20);
console.log(random);
// 12
Nyní jsme se naučili, že jak vygenerovat celé náhodné číslo, napíšeme funkci, která vezme celé číslo jako vstup a vrátí celé číslo mezi 0 a samotným celým číslem:
const random = (max = 50) => {
return Math.floor(Math.random() * max);
};
console.log(random(100));
// 66
Chcete-li vygenerovat náhodné číslo mezi dvěma konkrétními čísly (min
zahrnuto, max
vyloučeno), musíme aktualizovat random()
metoda jako níže:
const random = (min = 0, max = 50) => {
let num = Math.random() * (max - min) + min;
return Math.floor(num);
};
console.log(random(10, 40));
// 28
Ve výše uvedeném kódu jsme použili (max - min) + min
abyste se vyhnuli případům, kdy max
číslo je menší než min
číslo.
Chcete-li vygenerovat náhodné číslo, které obsahuje obě min
a max
hodnoty, stačí změnit Math.floor()
na Math.round()
:
const random = (min = 0, max = 50) => {
let num = Math.random() * (max - min) + min;
return Math.round(num);
};
console.log(random(10, 70));
// 51