为了账号安全,请及时绑定邮箱和手机立即绑定

在JS中生成非重复随机数

在JS中生成非重复随机数

慕勒3428872 2019-08-28 09:55:14
在JS中生成非重复随机数我有以下功能function randomNum(max, used){  newNum = Math.floor(Math.random() * max + 1);   if($.inArray(newNum, used) === -1){    console.log(newNum + " is not in array");    return newNum;   }else{    return randomNum(max,used);   }}基本上我创建一个1到10之间的随机数,并检查是否已经创建了该数字,方法是将其添加到数组并检查新创建的数字。我通过将其添加到变量来调用它。UPDATED:for(var i=0;i < 10;i++){    randNum = randomNum(10, usedNums);    usedNums.push(randNum);    //do something with ranNum}这有效,但在Chrome中我收到以下错误:Uncaught RangeError: Maximum call stack size exceeded我想这是因为我在内部调用函数的次数太多了。这意味着我的代码不好。有人可以帮我逻辑吗?什么是确保我的数字不重复的最佳方法?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 587 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信