javascript - 使用 JavaScript 挑选不重复的随机数
问题描述
我如何在没有重复号码的情况下选择 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);
推荐阅读
- php - 如何在 https laravel 中运行 URL 以链接 css 和 js
- macos - SwiftUI:添加项目会在 NavigationView 列表中创建间隙
- flutter - 我无法通过本地html文件在flutter webview中加载传单地图
- loops - for循环语句内加数字的逻辑
- php - 只需在 url 中写入 /mvc/ 并删除 .php 即可访问 /mvc/public/index.php
- r - 使用 R 包“生存”和“有效值”校准 Cox PH 模型:时间单位混淆
- python - 将自定义绘图功能应用于功能列表
- c# - 反序列化具有不同键值的对象
- verdaccio - verdaccio 插件 allow_publish(package) 的版本未定义
- python - 在 Python 中查找数独隐藏单曲的有效方法