js生成不重复数字数组代码实例
分类:实例代码
分享一段代码实例,它实现了生成一个数组的功能,并且数组的数字元素不会有重复。
代码实例如下:
function done(len,max) { var arr = []; var count = 0; while (count < len) { var n = Math.floor(Math.random() * max + 1); if (arr.join().indexOf(n) == -1) { arr.push(n); count++; } } return arr; } console.log(done(9,9))
上面的代码实现了我们的要求,下面介绍一下它的实现过程。
一.代码注释:
(1).function done(len,max) {},第一个参数规定数组的长度,第二个参数规定数组中数字大小的上限。
(2).var arr = [],声明一个空数组,最终返回的结果数组就是它。
(3).var count = 0,声明一个变量并赋值为0,用作计数器。
(4).while (count < len) {},通过while循环来生成数组。
(5).var n = Math.floor(Math.random() * max + 1),生成一小于等于max的随机数。
(6).if (arr.join().indexOf(n) == -1) {
arr.push(n);
count++;
},检测数组中是否已经存在数字n,如果没有存在,则将数字n压入数组。
然后计数器加1。
二.相关阅读:
(1).Math.floor()可以参阅javascript Math.floor()一章节。
(2).Math.random()可以参阅javascript Math.random()一章节。
(3).join()可以参阅javascript join()一章节。
(4).indexOf()可以参阅javascript indexOf()一章节。
(5).push()可以参阅javascript push()一章节。
js生成不重复数字数组代码实例,这样的场景在实际项目中还是用的比较多的,关于js生成不重复数字数组代码实例就介绍到这了。
js生成不重复数字数组代码实例属于前端实例代码,有关更多实例代码大家可以查看。