[解決済み] JSがランダムなブール値を生成
2022-02-02 13:11:54
質問
単純な質問ですが、ここのニュアンスに興味があります。
自分で思いついた以下の方法でランダムなブーリアンを生成しています。
const rand = Boolean(Math.round(Math.random()));
いつ
random()
が現れると、必ず落とし穴があるようです。本当のランダムではない、何か他のものに邪魔されている、などなど。 そこで、教えていただきたいのですが。
a) 上記はベストプラクティスの方法でしょうか?
b) 私は考えすぎているのでしょうか?
c) 私は考えが足りないのだろうか?
d) 私の知らない、より良い、より速い、より優雅な方法があるのだろうか?
(また、BとCが相互に排他的である場合、多少興味があります)。
更新情報
もし違いがあれば、私はこれをAIキャラクターの動きに使っています。
解決方法は?
比較することができます。
Math.random()
から
0.5
の範囲として、直接
Math.random()
は
[0, 1)
(これは「0を含む0から1の範囲で、1ではない」という意味です)。この範囲を分割して
[0, 0.5)
と
[0.5, 1)
.
var random_boolean = Math.random() < 0.5;
// Example
console.log(Math.random() < 0.1); //10% probability of getting true
console.log(Math.random() < 0.4); //40% probability of getting true
console.log(Math.random() < 0.5); //50% probability of getting true
console.log(Math.random() < 0.8); //80% probability of getting true
console.log(Math.random() < 0.9); //90% probability of getting true
関連
-
[解決済み】JavaScriptのgetElementByNameが機能しない
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] JavaScriptで特定の範囲のランダムな整数を生成する?
-
[解決済み] 乱数(int)を生成する方法を教えてください。
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] 英数字のランダムな文字列を生成する方法
-
[解決済み] ランダムな文字列を使用するこのコードは、なぜ "hello world" と表示されるのですか?
-
[解決済み] 0から9までのランダムな整数を生成する
-
[解決済み] ランダムな英数字の文字列を生成するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】パッシブイベントリスナー内部でpreventDefaultができない
-
[解決済み】TypeError: $(...).DataTable は関数ではありません。
-
[解決済み] 解決済み】clearInterval()が動作しない [重複] [重複]
-
[解決済み】XMLHttpRequestモジュールが定義されていない/見つからない
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】Javascript - ERR_CONTENT_LENGTH_MISMATCH
-
[解決済み] ローカルファイルを開くことができません - Chrome: ローカルリソースのロードが許可されていません
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み】WebSocket接続に失敗しました。WebSocket のハンドシェイク中にエラーが発生しました。予期しない応答コードです。400
-
[解決済み】中央値の計算 - javascript