JS:双色球问题

本文介绍了如何使用JavaScript生成不重复的6个1~33之间的红球数字,并进行排序,再随机选择1个1~16之间的蓝球数字,最终将所有数字放入一个数组。关键在于解决红球抽取的重复问题,通过创建包含1~33数字的数组,利用for循环和数组替换策略避免重复,确保每个红球只出现一次。最后,使用sort()方法对红球数组进行升序排序,将蓝球添加到数组中,完成双色球数字的生成。

红球:在1~33之间随机获取6个,不能重复,进行从小到大的排序

蓝球:在1~16之间随机获取1个,可以和红球重复

要求:将获取到的7个数字放入到一个数组。

思路:创建一个空数组,先将红球放入数组(不能重复),然后将数组从小到大排列,再随机取一个蓝球,放入数组。

重点难点:本题的重点难点在于如何解决取出多个红球后的重复问题。我们可以采用for循环+if语句判断的方法,如果重复,但这个方法容易混乱,我采用的方法是将1~33存到一个数组中,用for循环取出六次,每取出一个数,就将原数组的位置变为空,然后用do-while循环,如果第二次取出的是空,则重新选取,直到选取的元素不为空,则继续选取下一个红球。

  1. 创建一个数组,数组中存放1到33的数,便于我们从数组中将数字取出。

for (var k = 1, num = []; k <= 33; k++) {
    num.push(k)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值