我正在尝试我需要生成100-1000之间的随机数并记录数据库,但每个数字必须与其他数字唯一。 怎么能在Meteor中做到 谢谢。
答案 0 :(得分:1)
您可以关注this logic:
var arr = [];
for (var i = 100; i <= 1000; i++) {
arr.push(i);
}
或者,如果Underscore可用:
var arr = _.range(100, 1001);
现在我们有一个数组,其中包含您要分配的所有唯一值。然后代代:
var rand = Math.floor((Math.random()*arr.length));
var randNumber = arr[rand];
arr.splice(rand,1);
你去了,你有一个100到1000之间的随机数叫randNumber
,下次你运行那段代码时就不能得到同一个。
但是只要您想生成随机数,就需要在某处存储一个大的arr
数组。这实际上取决于你想要这个阵列的持久性,如果这个过程需要在很长一段时间内发生(例如&#34;每次用户做X&#34;)或者如果它是一个 - 时间过程。