javascript - 使用 JavaScript 挑选不重复的随机数

标签 javascript random duplicates numbers

我如何在没有重复号码的情况下选择 5 个随机彩票号码?下面的代码是我到目前为止所拥有的,我只是不知道在哪里插入代码以循环选择重复的数字并重新分配新的数字?我尝试将 if 和 else 与 forEach 函数一起添加,但没有奏效。这是我到目前为止的代码。先感谢您。

let lotto = [];
    for(let i = 0; i < 5; i++){
      lotto[i] = Math.floor(Math.random() * 69) + 1;
    }

const sorting = lotto.sort((a,b) => a - b);
    console.log(sorting);

最佳答案

两种解决方案:

  • 创建一个数字列表,然后从中选择(并删除)5 个。
  • 创建一个循环,不断生成数字,直到它有 5 个唯一的数字。

  • 您的尝试可以适用于解决方案 2:

    let lotto = [];
    while(lotto.length < 5) {
        console.log('Got', lotto.length, 'numbers!');
        // Changed 69 to 5 to "force" clashes (well, make it very likely)
        const num = Math.floor(Math.random() * 5) + 1;
        if (!lotto.includes(num)) lotto.push(num);
    }
    
    const sorting = lotto.sort((a, b) => a - b);
    console.log(sorting);

    关于javascript - 使用 JavaScript 挑选不重复的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68625219/

    相关文章:

    javascript - 动态创建一个选择,然后更改 ajax 调用以附加 html

    javascript - 无法在图像 map 上的鼠标位置显示 div

    java - 为什么我随机选择的数字的输出包含重复项?

    javascript - JS 如果有两个以上重复项,则查找数组中重复值的索引

    javascript - 我如何在网站上制作 discord.js 机器人统计信息?

    javascript - 简化这个: if (xyz)//do something and same on resize

    mysql唯一编号生成

    javascript - 随机数javascript

    java - 集合可以包含重复项吗?

    c++ - 跟踪重复键 STL 映射?