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生成不重复数字数组代码实例属于前端实例代码,有关更多实例代码大家可以查看

回复

我来回复
  • 暂无回复内容