Math.flor(Math.random()*(max-min+1)+min)
3426 ワード
最近JavaScriptのMath.randomを勉強しています.この公式Math.flor(Math.random()*(max-min+1)+min)に興味があります.インターネットで説明を探しました.この住所が好きです.ジェーソン?アンネロはこれに対する解析をここに置いて、興味があるのは見てみてください.最後にもう一度貼り付けました.
Math.random()は範囲が[0,1]の値を知っています.0を含むが、1は除外されます.0から0.99999までの範囲を…
現在、結果をMath.flor関数に伝えます.
私たちは中から1つの整数しか得られません.整数は0であり、重要ではありませんが、1つの整数しか得られません.
私たちが中からもっと多くの数字を得ることができれば、この範囲を拡大したいです.あるものを2倍にかけると、以前の2倍になります.2倍に拡大しました.Math.random()を2倍にかけると、何が起こるかを見てみましょう.
これらの数字をMath.florに渡すと何が発生しますか?0から0.9999まで…生成したすべての数字は0に切り捨てられます.1から1.999まで…のすべての数字は1に切り捨てられます.
今は2つの異なる整数を得ることができます.2をかけると2つの数字が得られます.6をかけると6つの数字が出ます.
これは私たちの範囲を0から5.9999までの6倍にします.
全部は書けませんが、flor関数を通過したら、あなたに届きます.
私たちは公式を導き出すことができます.特定の例を使ってヘルプを提供します.
5から10までの間の数字を生成すると仮定します.そこにいくつの数字があるかを知る必要があります.
変数の設定→
私たちはどのようにして私たちのmaxとmin変数を使って6つを導出しますか?もし私がmax-minを5つ獲得したら、それは1つの短い距離です.max-minは5から10までの距離を提供します.もし総数量を望むなら、常に1を加えなければなりません.
これはmax-min+1を表します.
数式に入れる
数学.床(数学.ランダム()*(最大値-最小+1)、重要なmax-min+1は括弧で囲まれています.これらの操作はすべて乗算前に発生します.
このとき、数式は正確な数の数字を生成することができますが、Math.randomの範囲が0から始まるため、常に0から始まります.
したがって、最小値を数式の末尾に追加すると、私たちが欲しい数字にすべての数字を移動します.
数学.床(数学.ランダム()*(最大値-最小+1))+分.2ステップとして動作し、範囲を拡大して移動します.
短くしたいという意味ですが、ご協力をお願いします.
Math.random()は範囲が[0,1]の値を知っています.0を含むが、1は除外されます.0から0.99999までの範囲を…
現在、結果をMath.flor関数に伝えます.
。 ( 。 ());
floverは小数点を切り捨てて整数部分を返しますので、私達はいつもここで0を得ます.この点を確認してください.そうしないと残りは意味がありません.必要かどうかを確認してください.私たちは中から1つの整数しか得られません.整数は0であり、重要ではありませんが、1つの整数しか得られません.
私たちが中からもっと多くの数字を得ることができれば、この範囲を拡大したいです.あるものを2倍にかけると、以前の2倍になります.2倍に拡大しました.Math.random()を2倍にかけると、何が起こるかを見てみましょう.
。 ( 。 () * 2 );
これは私たちのために0から1.9999までの新しい範囲を提供します.これは私たちが使用し始めた範囲の2倍です.これらの数字をMath.florに渡すと何が発生しますか?0から0.9999まで…生成したすべての数字は0に切り捨てられます.1から1.999まで…のすべての数字は1に切り捨てられます.
今は2つの異なる整数を得ることができます.2をかけると2つの数字が得られます.6をかけると6つの数字が出ます.
これは私たちの範囲を0から5.9999までの6倍にします.
全部は書けませんが、flor関数を通過したら、あなたに届きます.
0 .99999 ...- > 0
1 1.99999 ...- > 1
...
5 5.99999 ...- > 5
通常、Math.random()との乗算は、いくつかの整数を生成することができる.私たちは公式を導き出すことができます.特定の例を使ってヘルプを提供します.
5から10までの間の数字を生成すると仮定します.そこにいくつの数字があるかを知る必要があります.
変数の設定→
var max = 10 ;
var min = 5 ;
これらを5、6、7、8、9、10として挙げて計算すれば、合計は6であることが分かります.6を掛けて6つの数字を出すことができるということは前から知っています.私たちはどのようにして私たちのmaxとmin変数を使って6つを導出しますか?もし私がmax-minを5つ獲得したら、それは1つの短い距離です.max-minは5から10までの距離を提供します.もし総数量を望むなら、常に1を加えなければなりません.
これはmax-min+1を表します.
数式に入れる
数学.床(数学.ランダム()*(最大値-最小+1)、重要なmax-min+1は括弧で囲まれています.これらの操作はすべて乗算前に発生します.
このとき、数式は正確な数の数字を生成することができますが、Math.randomの範囲が0から始まるため、常に0から始まります.
0,1,2,3,4,5 //
5,6,7,8,9,10 //
第一行の数字に5を加えると、第二行が得られます.例では最小値は5です.したがって、最小値を数式の末尾に追加すると、私たちが欲しい数字にすべての数字を移動します.
数学.床(数学.ランダム()*(最大値-最小+1))+分.2ステップとして動作し、範囲を拡大して移動します.
短くしたいという意味ですが、ご協力をお願いします.