Náhodné číslo v JavaScriptu - jak na to?

Náhodné číslo v JavaScriptu - jak na to? Často kladeným dotazem, se kterým se setkáváme je generování náhodného čísla pomocí JavaScriptu. Přitom řešení je více než snadné a poskytuje nám jej JavaScript sám již v základu. Pojďme se tedy podívat jak na to.

Pojďme si letmo odpovedět na tuto velmi jednoduchou a častou otázku. V JavaScriptu známe pojem jako je náhodné číslo velmi dobře. Avšak přístup k tomuto údaji tak, jak bychom ho očekávali je malinko jiný.

Musíme si výstup z Math objektu malinko poupravit.

Náhodné číslo snadno vygenerujeme následujícím příkazem

var x = Math.random();

Výsledek nás (programátory) moc nepřekvapí, avšak co s ním?

0.08095112475078547

Budeme-li chtít svůj výsledek aplikovat například pro rozsah čísel 0-20, potom nám stačí upravit malinko příkaz asi do následující podoby:

var x = Math.random()*21;

Co když ale potřebujeme náhodné číslo z rozsahu? Jednoduché řešení existuje v podobě následující funkce.

function randomRange(minVal,maxVal,floatVal)
{
  var randVal = minVal+(Math.random()*(maxVal-minVal));
  return typeof floatVal=='undefined'?Math.round(randVal):randVal.toFixed(floatVal);
}

Aplikace je potom více než snadná.

var x = randomRange(10,20,1); //pro číslo s plovoucí čárkou
var x = randomRange(10,20); //pro číslo celé

Variací na téma tohoto skriptu je nespočet, po internetu lze narazit na mnohá sofistikovanější řešení, avšak to není cílem tohoto článku.