ホームページ >ウェブフロントエンド >jsチュートリアル >JSのランダム生成数値とシーケンスメソッドを詳しく解説
今回は、JS の数値とシーケンスのランダム生成について詳しく説明します。JS の数値とシーケンスのランダム生成に関する 注意点 について、実際のケースを見てみましょう。
•1.Math.random(); 結果は 0 ~ 1 の乱数 (0 を含み、1 を除く) です
•2.Math.floor(num); パラメータ num は数値です。 結果は num の 整数 部分です。整数を取得するための parseInt(num) メソッドと同じです。
•3.Math.round(num); パラメータ num は数値であり、関数の結果は num を四捨五入した後の整数になります。 •4.Math.ceil(num); n 以上の最小の整数を返します。 上記の方法を合理的に使用して、指定された範囲で乱数を生成します: 最大値ではなく最小値を含みます: parseInt(num) は、受信した num を丸め、小さな整数に変換します。 Math.random()に最大値と最小値の差を乗算し、parseIntで処理(このときの範囲は[0-差分]であることに注意)し、最小値を加算すると、最小値は得られますが、最小値は得られません。最大の整数値。 最小値を含むが最大値を含まない乱数を取得します。次の関数を使用して実装します:function getRandom1(start, end) { var length = end - start; var num = parseInt(Math.random() * (length) + start); return num; }最大値を含むが最小値は含まない:
or より大きい最小の整数を取得します。 num に等しい、つまり、num を大きな整数に変換して渡します。 Math.random()に最大値と最小値の差を乗算し、Math.ceil()で処理し(このときの範囲は(0-差分]であることに注意)、最小値を加算すると最小値が得られます。整数の最小値を除く値、つまり、最小値を含まない最大値を含む乱数を取得するには、上記の場合の parseInt を Math.ceil()Math.ceil(num)
function getRandom1(start, end) { var length = end - start; var num = Math.ceil(Math.random() * (length) + start); return num; }最大値と最小値の両方が含まれる状況: 最大値と最小値の両方が含まれるこのとき、取り得る値の範囲は によって拡張されています。 1 上の 2 つの状況と比較すると、乱数の生成段階では、使用できる乱数の範囲を 1 だけ拡張する必要があります。parseInt を使用して小さい値に丸めるか、Math.ceil(num) を使用することができます。大きな値に変換するには (変換後に -1 が必要です)、どの方法を使用する場合でも、重要なのは乱数生成段階で範囲に 1 を加算することですparseInt メソッドを使用します
function getRandom1(start, end) { var length = end - start + 1; var num = parseInt(Math.random() * (length) + end); return num; }---。 -------------------------------------- ----------- ------------------------- 場合によっては、乱数を生成するだけでは十分ではなく、この問題を乱数を生成し、重複を避けるために配列に追加することで、数値のランダムな配置を実現します。 ランダム シーケンスは、順序どおりに配置された数値要素のセットを含むグループを介して直接実装でき、sort メソッドを呼び出し、関数 By を渡します。ランダムに生成された値 (正または負の場合があります) を渡すと、順序をスクランブルして、配列のランダムなシーケンスを取得できます。 getNum() は、順序どおりに配置された 1 ~ 10 の数値の配列を返します。 取得された numArr はランダムです。 1 ~ 10 のシーケンス:
var numArr = getNum().sort(function () { return Math.random() - 0.5; });ランダム シーケンスを生成する独自のロジックを作成することも可能です。 乱数を格納する配列を定義し、生成後、既存の配列を検索して乱数を生成します。存在する場合、マークを false に変更すると、生成された乱数が繰り返されることを示し、マークの値は配列への追加が成功した場合に配列のインデックス (配列を示します) を決定するために使用されます。配列要素の数) がインクリメントされ、以下の
ループを終了するための条件が満たされます。5 から 10 までのランダムなシーケンスを実装する例 (以下のケースには左と右が含まれます):
function getOrder(start, end) { var length = end - start; var myorder = new Array(); var index = 0; while (index < length+1) { var flag = true; var num = parseInt(Math.random() * (length + 1)); for (var i in myorder) { if (myorder[i] == num) { flag = false; } } if (flag == true) { myorder[index] = num; index++; } } alert(myorder.length); alert(myorder); } getOrder(5, 10);
はマスターできたと思います。この記事の事例を読んだ後、さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください
これは call と apply の使用方法を示しています の詳細な説明インストールと使用が少なくなります以上がJSのランダム生成数値とシーケンスメソッドを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。