如何从字符串数组中获得8个随机唯一元素
How to get 8 random unique elements from a string array?
我在处理一些javascript代码时遇到了一些问题。本质上,我需要做的是从一个16元素的字符串数组中获得8个唯一的元素。
我有这个阵列
biscuits = ['a', 'b','c','d','e','f','g','h','i', 'j', 'k','l','m','n','o','p']
我想随机得到其中的8个元素并打印出来。
我知道如何生成一个范围内的随机数。我正在努力解决的问题是如何生成唯一的随机数,然后从字符串数组中获取特定的项。如果有人能帮忙,我将不胜感激。
我不确定是应该使用嵌套的for循环,还是检查值是否已经在数组中?我知道应该这样做,但由于某种原因我不能这样做。
您可以复制您的数组,并在拾取时移除生成的值。所以,下次你随机选择一个元素时,你就无法再选择同一个了。这要求您的数组仅由唯一元素组成(不包含重复元素)。
下面将为您提供一系列独特的新饼干,您可以使用它们做任何您想做的事情:
biscuits = ['a', 'b','c','d','e','f','g','h','i', 'j', 'k','l','m','n','o','p'];
newBiscuits=new Array();
items=16;
while(newBiscuits.length<8) {
newBiscuits.push(biscuits.splice(parseInt(Math.random()*items), 1));
items--;
}
有几种方法可以做到这一点。单向:
- 复制数组
- 生成随机数
- 从数组中删除所选元素
- 根据新的数组长度生成新的数字。。。我想你明白了吧
相关文章:
- 在AngularJS中向控制器发送多个随机单选按钮值
- 当一次加载所有文件时,是否有来自阵列的10个随机闪存文件显示在页面上?(在javascript中)
- for循环中的多个随机结果
- 如何从字符串数组中获得8个随机唯一元素
- 使用promise和递归查找多个随机数据
- 如何从JSON中提取n个随机元素
- 如何将52个随机生成的数字打印到控制台
- 如何通过html id将两个随机数传递给JS中的一个函数
- 使用 javascript 回显数组的 4 个随机元素
- 每页多个随机图像,无需重复
- 如何比较两个随机播放的字符串
- 使用 jquery 为每几个随机元素添加类
- AngularJS:从JSON文件中获取三个随机元素
- 在循环中使用javascript生成1000个随机的10位数字
- 查找1000个随机整数的数组的平均值javascript
- 在mousedownevent上从1-100生成10个随机整数时遇到问题
- 功能,在关闭浏览器时打开几个随机大小和位置的新窗口
- 从多边形(多边形)边界内的多边形中心生成n个随机点(Lat-Lng对)
- MongoDB:从一个集合中提取多个随机文档
- 如何将多个随机x-y数据序列的数组传递给Highcharts