ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で配列から複数のランダムな要素を重複せずに抽出する方法は?

JavaScript で配列から複数のランダムな要素を重複せずに抽出する方法は?

Patricia Arquette
リリース: 2024-10-29 11:13:29
オリジナル
824 人が閲覧しました

How to Extract Multiple Random Elements from an Array in JavaScript Without Duplicates?

JavaScript で配列から複数のランダムな要素を抽出する方法

問題:

取得配列からの単一のランダム要素は、式 Math.floor(Math.random() * array.length) を使用することで簡単に作成できます。ただし、重複のない複数のランダム要素を取得するのは難しい場合があります。

解決策:

配列から指定された数のランダム要素を取得するには、次の手順に従います。

  1. array.sort(() => 0.5 - Math.random()) を使用して配列をシャッフルします。この行により、配列内の要素がランダム化されます。
  2. selected = shuffled.slice(0, n) を使用して、シャッフルされた配列から最初の n 要素を抽出します。この行は、シャッフルされた配列から最初の n 個の要素を選択します。

例:

次のコードを考えてみましょう。

<code class="javascript">n = 5;
array = Array.from({ length: 50 }, (v, k) => k * 10); // [0,10,20,30,...,490]
var shuffled = array.sort(function () { return 0.5 - Math.random() });
var selected = shuffled.slice(0, n);

document.querySelector('#out').textContent = selected.toString();</code>
ログイン後にコピー

Thisこのコードは、50 個の数値の配列をシャッフルし、最初の 5 つのランダムな要素を取得して、HTML ドキュメントに表示します。

以上がJavaScript で配列から複数のランダムな要素を重複せずに抽出する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート