Math.floor と Math.random

Math.floorとMath.randomがごっちゃごちゃになっていた。

理由はドットインストールのビンゴカードを作るところでランダムを生成するために

 column[0] = source.splice(Math.floor(Math.random() * source.length), 1)[0];

こういうコードを使っていたため、Math.floor自体がランダムを作るために必要なんだと思っていた。


しかし、それは完全な誤解であった。

Math.floor:小数点を切り捨てる。

であった。

そして

Math.random: 0 以上 1 未満 (0 は含むが、 1 は含まない) の範囲でランダムな数値を取る

だった。

つまりrandomでは0.5などを取ってしまうが、floorを使うことによって整数になる。

そしてそのあとの‟⋇”で範囲を指定することでその間の整数を生成することができるのだ!

例えば1~10までの整数でランダムにしたかったら、*10すればよい。

この記事が気に入ったらサポートをしてみませんか?