首页  >  文章  >  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