我在使用一些javascript代码时遇到了一些麻烦。基本上我需要做的是从16个元素字符串数组中获取8个唯一元素。
我有这个数组
biscuits = ['a', 'b','c','d','e','f','g','h','i', 'j', 'k','l','m','n','o','p']
我想随机获取其中的8个元素并打印出来。
我知道如何在一个范围内生成一个随机数。我正在努力的是如何生成唯一的随机数,然后从字符串数组中获取特定项。如果有人能提供帮助,我将非常感激。
我不确定是否应该使用嵌套for循环或检查数值是否已在数组中?我知道这应该是但由于某种原因我不能这样做。
答案 0 :(得分:1)
您可以复制数组,并在选择时删除生成的值。 因此,下次您随机选择一个元素时,您将无法再次选择相同的元素。 这要求您的数组只包含唯一的元素(没有重复)。
答案 1 :(得分:0)
有几种方法可以做到这一点。一种方式:
答案 2 :(得分:0)
以下内容将为您提供一系列独特的newBiscuits,您可以按照自己的意愿进行操作:
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--;
}