10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

《JavaScript》範囲指定したランダムな値を得るスクリプト。

Posted at

範囲指定のできるランダムな整数を返すスクリプトです。
引数に与えた値のmin以上、max以下の値を返します。

関数本体


const randRange = (min, max) => Math.floor(Math.random() * (max - min + 1) + min);

解説

Math.random() * (max - min + 1) + min

minの値を基準として、そこにランダムな増減値を加算する、というような計算方法です。
ランダムな増減値は、max - minで増減する幅をもとめて、そこに1を足して、Math.random()関数の0以上1未満のランダムな値と掛け合わせることで表現することができます。

これで取り出せた値を Math.floor()関数で小数点以下を切り捨てて、整数値を取り出しています。

呼び出し


console.log(randRange(10, 100));
// ランダムな10以上、100以下の整数

おまけ

ES5で記述したやつ。


var randRange = function (min, max) {
  return Math.floor(Math.random() * (max - min + 1) + min);
};

ちなみにこの+1の部分を取りはずすと、「max未満」の値を返すランダム関数になります。

おわります。

10
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?