zpět k lekci

Náhodné číslo od min do max

důležitost: 2

Vestavěná funkce Math.random() vytváří náhodnou hodnotu od 0 do 1 (kromě 1).

Napište funkci random(min, max), která bude generovat náhodné číslo s pohyblivou řádovou čárkou od min do max (kromě max).

Příklady, jak má fungovat:

alert( random(1, 5) ); // 1.2345623452
alert( random(1, 5) ); // 3.7894332423
alert( random(1, 5) ); // 4.3435234525

Musíme „namapovat“ všechny hodnoty z intervalu 0…1 na hodnoty od min do max.

To můžeme udělat ve dvou krocích:

  1. Když vynásobíme náhodné číslo z 0…1 číslem max-min, pak se interval možných hodnot zvětší z 0..1 na 0..max-min.
  2. Když nyní přičteme min, možný interval se změní na interval od min do max.

Funkce:

function random(min, max) {
  return min + Math.random() * (max - min);
}

alert( random(1, 5) );
alert( random(1, 5) );
alert( random(1, 5) );