来自ARRAY(JS)的15个随机数

时间:2019-01-02 23:33:42

标签: javascript html

我有以下数组:

var number = [1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22 ,23,24,25,26,27,28,29,30,31,32,33,34,35];

我想从该数组中获取15个随机数,其中不能重复。我不知道该怎么做。

此外,如果更简单,我想知道是否有一种方法可以生成一个从1到35的15个数字的数组,并且没有重复,而不是从我显示的数组中选取它们。

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您只是想获取1到35之间的数字,则可以这样做,

Math.floor(Math.random() * 35) + 1

Math.random()返回一个介于0到1之间的数字,再乘以35得到一个介于0到35之间(不包括在内)的数字作为浮点数,然后将下限加1以得到所需的范围。

然后您可以遍历此对象,并使用它来填充您的数组。

如果您不希望有任何重复,那么我建议您使用Set来确保没有任何重复,然后循环直到该集合具有所需的值数目。

记录集here

答案 1 :(得分:0)

这是一个简单的方法。

首先创建1到35之间的数字数组。

然后从该数组中随机删除一个,直到长度等于15。

if let promise = pendingServices.removeValue(forKey: service.uuid) {
    promise.fulfill() // Or whatever you do with it
}