生成五个不同的随机数

对于生成几个互不相同的随机数应用的还挺广泛的,接触js还没多长时间,给大家分享两种方法来生成不重复的随机数。

1.使用indexOf方法巧妙的实现

代码示例如下:

主要代码

使用while循环语句控制随机数的个数,首先定义一个arr数组作为一个容器承载随机数,运用Math.random()*10生成1~10的随机数,使用indexOf方法去除相同的随机数。indexOf方法返回第一次出现子字符串的字符位置,它返回的是一个整数值,当返回值为-1时,表示没有此字符串。所以arr.indexOf(num) == -1的意思是当arr中没有此字符的时候将随机数存入arr中,能实现生成5个不同的随机数。


运行结果

此外给大家分享一个在max(最大数)和min(最小数)范围之间的随机数公式:

var ran = Math.random()*(max-min)+min;

2.使用while循环来实现

示例代码如下:

主要代码

定义五个变量a,b,c,d,e承接生成的五个随机数,使用while循环来实现,大体思路如下:随机数a作为第一个数,第二个while循环是:当a == b; b在重新生成随机数直到与a 不同时,保存b; 第三个while循环是:当c与a,b其中一个相同时,重新生成随机数c,直到c与a,b都不相同时,保存c;以此类推;实现每个随机数都互不相同。

这种方法是我才学js的几个循环时根据自己的逻辑写出来,虽然也能实现效果,但没有第一种方法好,第一种方法一是代码量少,还有适用范围广,像第二种当需要生成的随机数过多时就不适用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,718评论 0 17
  • 《ilua》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 1...
    叶染柒丶阅读 11,103评论 0 11
  • 我们在使用Linux时经常需要在两个文本文件中取重复的行或只取不重复的,也就是取交集或并集。我们可以使用sort和...
    羽恋心阅读 912评论 0 0
  • 最近一曰,早晨出门,傍晚回家,居住的楼房前本来不宽敞的地方竟耸了一个车棚,恰好一邻居下楼,打听到是我对门搭的,新买...
    五蕴皆空行者阅读 729评论 3 4
  • 老妈生病住院了,在办入院手续等待期间,见识了医生和护士的各种不容易,最感动的是一位已经过了预产期的大夫还挺着...
    暖洋洋0218阅读 99评论 0 0