qq_43411615 2020-11-11 18:29 采纳率: 50%
浏览 12
已采纳

Js 连续五题不能通过时,提示“连续五题未通过是否停止测验”

  • 写回答

3条回答 默认 最新

  • 阿狸贝贝 2020-11-12 10:55
    关注
    let list = [0,1,0,0,0,0,0,1];
     
    function check(list) {
      if (list.length <= 5) {
        return;
      }
      // 取出从第一个错误的位置后的连续5个结果数据集
      function findErrorList(errorIndex) {
        return list.slice(errorIndex, errorIndex + 5);
      }
      // 取出错误的位置
      function findErrorIndex(list) {
        return list.findIndex(item => item === 0)
      }
    
      let errorIndex = findErrorIndex(list); // 取出第一个错误的位置
      let errorList = findErrorList(errorIndex);
    
      let errorListSum = errorList.reduce((prev, cur, index) => prev + cur, 0); // 求出结果数据集的总和,总和等于0,则连续错误,总和大于0则当中有正确的
    
      if (errorList.length >= 5 && errorListSum === 0) {
        return window.confirm('你已经连续错了五题,是否继续?');
      }
      if (errorListSum > 0) {
        let _list = list.slice((errorIndex + 1), list.length);
        check(_list)
      }
    }
    check(list)

    对上面的代码做了优化

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器