JavaScript随机数生成器

梅洛尼·史密斯(Melony Smith)

第一次在这里发布。不过,已经阅读了一段时间。我无法确切找到我所需要的。如果我忽略了一些事,请提前道歉。

我有一个作业,需要创建一个随机数生成器,该生成器为彩票生成1到59之间的6个随机数。我唯一遇到麻烦的部分是拿出代码来检查并防止出现重复的数字。我只允许在其中使用循环和数组,这就是为什么我遇到这么麻烦的原因。我知道这应该很容易,但是我是JavaScript的真正初学者,在这里完全感到茫然。

我需要怎么做才能确保输出中不使用重复的数字?再说一次,我只能使用循环和数组,而且一切都非常“基础”。

var powerballLotteryRandom;

var powerballRandom;

function genRanPowerballNum(min, max, num) {

        var powerballArray = [];

        for (var i = 0; i < num; i++) {

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

            powerballArray[i] = Math.round(ranNum);

        }

        return powerballArray;

    }

powerballLotteryRandom = genRanPowerballNum(1, 59, 5);

powerballRandom = genRanPowerballNum(1, 35, 1);

if (lotteryChoice === "powerball") {

    console.log("Your Powerball lottery numbers are " + powerballLotteryRandom + ", and your Powerball number is " + powerballRandom + ".");

简单地,我需要做些什么来防止出现重复的数字?再说一次,我只能使用循环和数组,我必须使用函数,并且如果可以的话,应该保持“基本”状态。

希望我发布了您可能需要的所有代码。生成器实际上首先提示用户输入他们想要的州还是强力球彩票号码,然后根据他们选择的内容运行代码。如果需要,我很乐意发布更多代码。

谢谢你的帮助!旋律

AmmarCSE
  1. 使用while循环保持迭代,直到确定了非重复项为止。
  2. 使用indexOf()以确定是否ranNum是重复的看是否存在阵列中或没有。注意,如果数组中不存在它,则indexOf()返回-1
  3. while循环完成,设置数组值(在这一点上,它应该是一个保证唯一)

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

while (powerballArray.indexOf(Math.round(ranNum)) > -1) {
    ranNum = Math.random() * (max - min) + min;
}

powerballArray[i] = Math.round(ranNum);

var powerballLotteryRandom;

var powerballRandom;

function genRanPowerballNum(min, max, num) {

  var powerballArray = [];

  for (var i = 0; i < num; i++) {

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

    while (powerballArray.indexOf(Math.round(ranNum)) > -1) {
      ranNum = Math.random() * (max - min) + min;

    }

    powerballArray[i] = Math.round(ranNum);

  }

  return powerballArray;

}

powerballLotteryRandom = genRanPowerballNum(1, 59, 5);

powerballRandom = genRanPowerballNum(1, 35, 1);


console.log("Your Powerball lottery numbers are " + powerballLotteryRandom + ", and your Powerball number is " + powerballRandom + ".");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章