配列から複数の要素をランダムに選択する方法
JavaScript は、Math.floor(Math.random() を使用した配列要素のランダム化関数を提供します) *項目.長さ)。ただし、このメソッドは単一の要素のみを選択します。複数の要素を選択するには、より包括的なアプローチが必要です。
解決策:
配列から複数のランダムな要素を取得するには、次の 2 段階のプロセスを実装できます。 :
配列をシャッフルして要素の順序をランダム化します:
const shuffled = array.sort(() => 0.5 - Math.random());
シャッフルされた配列から必要な長さの部分配列を抽出します:
let selected = shuffled.slice(0, n);
デモ:
コード例では、数値配列の配列を宣言し、抽出する要素の数を指定します。 (n)。配列をシャッフルしてスライスすることで、n 個のランダムな要素を含む選択されたサブ配列を取得します。
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();
このアプローチは、サイズに関係なく、配列から複数の要素をランダムに選択する柔軟で効率的な方法を提供します。 .
以上がJavaScriptで配列から複数の要素をランダムに選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。