红球:在1~33之间随机获取6个,不能重复,进行从小到大的排序
蓝球:在1~16之间随机获取1个,可以和红球重复
要求:将获取到的7个数字放入到一个数组。
思路:创建一个空数组,先将红球放入数组(不能重复),然后将数组从小到大排列,再随机取一个蓝球,放入数组。
重点难点:本题的重点难点在于如何解决取出多个红球后的重复问题。我们可以采用for循环+if语句判断的方法,如果重复,但这个方法容易混乱,我采用的方法是将1~33存到一个数组中,用for循环取出六次,每取出一个数,就将原数组的位置变为空,然后用do-while循环,如果第二次取出的是空,则重新选取,直到选取的元素不为空,则继续选取下一个红球。
创建一个数组,数组中存放1到33的数,便于我们从数组中将数字取出。
for (var k = 1, num = []; k <= 33; k++) {
num.push(k)
}

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

被折叠的 条评论
为什么被折叠?



