首頁  >  文章  >  web前端  >  如何在 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>

此程式碼對50 個數字的陣列進行打亂,並擷取前5 個隨機元素,將它們顯示在HTML 文件中。

以上是如何在 JavaScript 中從陣列中提取多個隨機元素而不重複?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn