首页 > 试题广场 >

双色球机选一注

[编程题]双色球机选一注
  • 热度指数:7494 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
双色球由33个红球和16个蓝球组成,1注双色球包括6个不重复的红球和1个蓝球。
请阅读给出的页面和代码,完成 randomFn 函数,实现“随机一注”功能,要求如下:
函数返回:
  1.以字符串形式输出“随机一注”结果,选中的红蓝球用"|"隔开,红球在前,号码间用半角逗号隔开,如"06,10,13,18,23,27|05"
  2.红球和蓝球号码排列顺序 需与页面展示的顺序对应
页面交互:
  1.将选中的红球和蓝球(页面中对应DOM元素)用class="active"高亮
  2.将选中的球按号码从小到大排列,移至所属组的前方,结果如示意图所示
  3.每次执行 randomFn 函数,输出符合要求且不完全重复

注意:
1、请使用原生JavaScript操作DOM元素,不要增加、删除DOM元素或修改css
2、请使用ES5语法
3、答题时不要使用第三方插件
4、运行浏览器为chrome浏览器
5
// 可能涉及的点

// element.className
// element.classList
// element.classList.add
// element.classList.remove
// element.getAttribute
// element.setAttribute
// element.innerHTML
// element.insertBefore
// element.parentNode

// document.querySelector
// document.querySelectorAll
// document.getElementsByTagName
// document.getElementsByClassName

// Array.sort
// Array.push
// Array.join
// Array.indexOf
// Array.forEach
// Array.map

// Math.random
// Math.floor

// Number.toString()

头像 前端消防圆
发表于 2023-07-13 12:53:46
思路:首先分别获取红球集合和蓝球集合,然后使用random方法随机生成6个红球和1个蓝球,分别记录其号码和球并加上active,接着将6个红球降序排序,再使用insertBefore方法分别将随机红球、随机蓝球依次插入到对应集合第一个元素前,最后按照要求返回数据即可。 <div class=& 展开全文
头像 牛客241126223号
发表于 2021-08-25 14:58:07
//注意 不能用es6语法randomFn(); function randomFn() { //红球节点及所有红球 const redBallRoot = document.querySelector('.red .balls-wp'); const redBallList = 展开全文
头像 牛客140543735号
发表于 2021-08-13 16:54:28
/** 测试不通过是生成随机数时耗费了时间 /function randomFn() { var divTwoArr = document.getElementsByClassName("balls-wp"); var arr1 = newRandomNumbersW 展开全文
头像 牛客515565046号
发表于 2021-10-10 16:34:40
反正本地是能正常使用的,当时做的时候第一个测试案例用了1w次方法,发现自己高亮的class类一直没去掉,现在去掉了,每次跑起来会有点卡,应该是循环用太多了,大家可以借鉴一下,拉到本地去改,本人JS萌新,写的代码比较基础,有大神的话可以帮忙改改,改完通过了私聊我一下,让我也学习学习 function 展开全文
头像 W&R
发表于 2022-07-02 14:47:39
randomFn(); function randomFn() {     let redBalls = document.querySelectorAll('.red .balls-wp b'),         blueBalls = 展开全文
头像 牛客52880393号
发表于 2023-09-16 23:55:59
感觉看运气了,偶尔会在 6/7 测试用例的时候超时 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> .main . 展开全文
头像 Pandora417
发表于 2021-07-21 10:45:24
randomFn(); function randomFn() { return selectBall('red', 6) + '|' + selectBall('blue', 1)}function selectBall(color, n){ var wrap = document.q 展开全文
头像 123201902252241816
发表于 2022-03-04 17:18:32
var resultSet = []; var redParent = document.querySelector(".red .balls-wp"); var allRedItems = redParent.children; var blueParent = document.querySe 展开全文
头像 奋斗:-)
发表于 2021-07-19 16:42:21
function randomFn() { var activeRed = []; var num1; while (activeRed.length < 6) { num1 = Math.floor(33 * Math.random() + 1); if 展开全文
头像 花落再无相伴
发表于 2022-08-22 17:52:01
      randomFn();       function randomFn() {      &nb 展开全文

问题信息

上传者:小小
难度:
34条回答 25459浏览

热门推荐

通过挑战的用户

查看代码
双色球机选一注