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

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-29 11:13:29735ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。