【发布时间】:2016-10-03 06:23:27
【问题描述】:
我想写一个简单的页面,它可以让我生成不重复的数字。
我有以下代码:
function rand ( min, max, except ) {
var number = except;
while (number == except) {
number = Math.floor( Math.random() * ( max + 1 - min ) + min );
}
return number;
}
var test = [];
while ( test.length < 1 ) {
test.push( rand( 100, 500) );
}
alert( test );
它工作正常,唯一的事情是它会生成随机数,但是在我点击后,例如“提交”按钮,它将生成新的随机数,可以与之前请求时生成的相同。
我需要的是 - 页面应该以某种方式保存已经生成的数字,并且下次生成数字时,它不应该再次使用它。
有什么想法吗?
也许有一些函数可以根据时间/日期等创建随机数。
【问题讨论】:
-
当您调用
rand()时,您没有通过except。那么你的 rand() 做了什么? -
您必须记录已生成的数字。一个数据库,一个文件,什么的。或者,您也可以传入先前生成的数字的最大值,从那里开始并设置一个新的范围
max_num到larger_than_max。重复直到无穷大。 -
@Andrew mySQL DB 可以使用。你能猜出如何使用 DB 来实现它吗?
-
您希望在多长时间内不重复以前的号码?直到下一次导航,浏览器会话结束,明年?永远? (2) 内存应该是为每个用户单独使用还是全局内存?
-
@trincot - 永远
标签: javascript php