从数组中选择 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
个元素
最佳答案
不要使用循环和比较。相反
- shuffle数组
- 取前两个元素
关于javascript - 从数组中选取 2 个随机元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9719434/