javascript - 从数组中选取 2 个随机元素

标签 javascript jquery

从数组中选择 2 个唯一随机元素的最有效方法是什么(即,确保同一元素未被选择两次)。

我到目前为止:

var elem1;
var elem2;

elem1 = elemList[Math.ceil(Math.random() * elemList.length)];
do {
  elem2 = elemList[Math.ceil(Math.random() * elemList.length)];
} while(elem1 == elem2)

但这经常会挂起我的页面加载。

有更好的解决方案吗?

额外的问题,我如何将其扩展到 n 个元素

最佳答案

不要使用循环和比较。相反

关于javascript - 从数组中选取 2 个随机元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9719434/

相关文章:

javascript - Chartjs v2 描边阴影

javascript - jQuery UI 日期选择器 - 在选择日期时更新另一个日期选择器

javascript - 堆叠的 div 等于一个高度

javascript - 给很多 DIV margin-left 很慢

javascript - 建立响应式缩略图画廊

javascript - 尝试从 json 数据绘制 d3 饼图

javascript - 当对象具有 "Expected identifier"作为属性名称时,来自 IE8 和 IE7 的 "new"错误

javascript - 如何将高分辨率图像转换为低分辨率图像?

javascript - React.PropTypes 已弃用,我已经安装了 prop-types 包

jquery - Angular/Bootstrap - 导航栏显示不正确