在做作业的时候与到了一个问题,随机数的问题,为了项目的真实度,在添加一个人的信息时,我们要给他一个编号。做为一个初学者,在添加数据是都是手动在input标签中添加数据,后来在看过真实的项目时,发现个人的编号是在打开新增模态框的时候编号是自己生成的一段随机数字。而生成随机数字网上有一大堆,什么代码都有,但问题是对于很多初学者来说,看不懂,不了解,说来一大堆,放几张图片,最后又不知道他干了什么。而我要讲的是JavaScript原生的随机数。
我这个人优点不是很多,记性好就是其中之一。切入重点,接下来讲的是老师给我们讲的js基础时的内容。
我现在还是依稀记得老师在讲Math对象方法的时候只是随口提了一下0~1之间的随机数并操作给我们看了一遍,可能当时很多同学只是听了一下没有太大的印象。
那么问题就来了,我要的是一串数字,而不是像这样的0到1之间的,我查了一下资料
这是在w3c中查找的,我改了一下参数
这是0到1000之间的随机数,当然了你想要几位数就加几位数,如果你要0到10000000000之间的随机数,随机出来的数字一般都是10位数,但有可能是9位,8位也有这样就确定不了他的位数,网上查了一下资料,但都是起不到很好的效果,可以得到确定的几位数的随机数。而且这还有个缺点就是,随机数会重复,我们知道,在随机给一个用户编号时,如果用户过多就会出现编号重复的情况,而用户的编号是不可以重复的,这样就可能造成在刷取随机数时要多刷几遍,如果今天添加的用户很多,那么这就给操作员增加了很多的工作量,
我做了一下计算(根据高中学的随机数中的概率)两位数的随机数不重复有两种情况如:12,21,3位数的随机数有6种情况如123,132,213,231,312,321,而4位数的随机数位24种情况如:1234,1243,1324,1342,1432,1423,2134,2143,2314,2341………而10位数的随机数不重复出现也就是有3628800种,我们先不管在刷取随机数时会不会刷到重复的,就算每一次刷取的随机数都不重复,那么当用户超过3628800时也必然会重复,那么有什么办法不重复呢?
时间,时间不会重复,
这是获取标准时间的方法。年,月,日,时,分,秒