JavaScript - 非繰り返しの 6 桁の乱数のセットを生成する方法
过去多啦不再A梦
过去多啦不再A梦 2017-05-19 10:39:10
0
6
1470

6 つの乱数を含む配列を生成する必要があり、これらの乱数を繰り返すことはできません。
(配列には複数の乱数が含まれており、各乱数は 6 桁であり、配列内の乱数は繰り返されません)

次の 2 つのコードを参照して、その 2 つを組み合わせることができます。

リーリー リーリー
过去多啦不再A梦
过去多啦不再A梦

全員に返信(6)
曾经蜡笔没有小新

これは再帰によって実行できます。デモンストレーションの便宜上、10 以内の非繰り返しの正の整数乱数のセットを生成するように変更しました。
依存する主なメソッドは、配列内の特定の値のインデックスを見つけるために使用される、indexOf() メソッドです。配列内に値が見つからない場合は、-1 が返されます。
コードは次のとおりです:

リーリー
いいねを押す +0
世界只因有你

時間は繰り返されず、タイムスタンプを使用して乱数を生成することも繰り返されません。

リーリー

そして、ある程度、この世界には絶対に繰り返さない乱数は存在せず、生成された乱数をすべて保存し、生成時に比較したとしても、それらがすでに存在していることが判明した場合でも、すべての組み合わせが無限ではありません。すべての組み合わせが試行されると、最終的に新しい乱数が生成され、無限ループが形成されます。 しかも、それはわずか6桁で、組み合わせは合計472,392通りしかありません。

いいねを押す +0
仅有的幸福

シンプルで使いやすい方法を紹介します。これが繰り返されないことを保証するものではありません。同じことが繰り返される場合は、宝くじを購入することを忘れないでください。 Math.random().toString(36).slice(2,8)

いいねを押す +0
黄舟

非反復乱数シーケンス生成アルゴリズム
コードとコメントを使用して実装すると、非常に賢い記事を見つけました。 リーリー

JS がうまく書かれていない (エスケープ

)

いいねを押す +0
黄舟

毎回乱数を生成するループを作成し、それをセットにスローします。セットが十分に長い場合は、配列に変換されて返されます

いいねを押す +0
伊谢尔伦

配列内の必要な数が小さい場合は、配列メソッドを使用してそれを決定できます

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート