[解決済み] 配列からランダムな要素数を得るには?
2022-05-02 12:14:12
質問
私は、「javascriptで配列からランダムに要素にアクセスする方法」を研究しています。私はこれに関する多くのリンクを見つけました。のように。 JavaScript の配列からランダムな項目を取得する
var item = items[Math.floor(Math.random()*items.length)];
しかし、この場合、配列から選択できるのは1項目だけです。もし、複数の要素が欲しい場合は、どのようにすればよいのでしょうか?配列から複数の要素を取得するにはどうすればよいのでしょうか?
どのように解決するのですか?
この非破壊的(かつ高速)な機能を試してみてください。
function getRandom(arr, n) {
var result = new Array(n),
len = arr.length,
taken = new Array(len);
if (n > len)
throw new RangeError("getRandom: more elements taken than available");
while (n--) {
var x = Math.floor(Math.random() * len);
result[n] = arr[x in taken ? taken[x] : x];
taken[x] = --len in taken ? taken[len] : len;
}
return result;
}
関連
-
[解決済み] Error : 未定義のプロパティ 'map' を読み取ることができません。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み] オブジェクトの配列から、プロパティの値を配列として取り出す。
-
[解決済み] 新しい配列を作成せずに、既存のJavaScript配列を別の配列で拡張する方法
-
[解決済み] 配列の最初の要素を取得する
-
[解決済み] JavaScript の配列からランダムな値を取得する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】「X-Frame-Options」を「SAMEORIGIN」に設定したため、フレームでの表示を拒否された。
-
[解決済み】JavaScript TypeError: null のプロパティ 'style' を読み取ることができない
-
[解決済み] TypeError: $.ajax(...) is not a function?
-
[解決済み】ReactJSでエラー発生 Uncaught TypeError: Super expression は null か関数でなければならず、undefined ではありません。
-
HTML5 LocalStorage ローカルストレージとセッションストレージの使用法
-
[解決済み] JavaScriptの配列をランダム化(シャッフル)する方法は?
-
[解決済み] JavaScriptの配列からランダムな項目を取得する【重複
-
[解決済み] 配列をシャッフルする方法を教えてください。重複
-
[解決済み] 一意な(繰り返しのない)乱数をO(1)で?