Math.random
0 から 1 の間の数値を返します。 MDN のドキュメントを参照してください。
また、特定の範囲での乱数の生成に関するこの質問も参照してください。
したがって、2 つの問題があります。1 つは、自分が考えている範囲で乱数を生成していないこと、2 つは、生成した乱数を使用していないことです。
あなたが説明したものと似たようなことをするこのフィドルを作りました。
function getRandomInt (min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function generateRandomWithExclusion(exclude, min, max) {
var num = getRandomInt(min, max);
while (num === exclude) {
num = geRandomInt(min, max);
}
return num;
}
generateRandomWithExclusion(2, 0, 10) // returns an integer between 0 and 10 that is not 2
除外したい数値と と の範囲を渡し、除外したいmin
数値max
ではないその範囲内のランダムな整数を取得します。