首页 > 其他分享 >全选 和 不能全选 测试题 逻辑代码

全选 和 不能全选 测试题 逻辑代码

时间:2023-07-26 14:45:23浏览次数:31  
标签:None const 测试题 代码 全选 选中 above options

全选 和 不能全选 测试题 逻辑代码

关于测试题会出现三种情况

1.可以全选的 点击就加入选中数组里面

2.不可以全选的 先点击可以多选的 再点击不能多选的 会选中数组情况

3.不可以全选的 先点击不能全选的 再点击可以全选的 不能全选的那个被取消 可以全选的一个个添加选中数组。

基本逻辑代码是下面的 但是我数组写的比较复杂

// 将this.questions[questionIndex]提取为变量
const currentQuestion = this.questions[questionIndex];
const options = currentQuestion.options;
const selectedOptions = currentQuestion.selected;

// 检查是否选中了最后一个选项
const isLastOption = optionIndex === options.length - 1;

// 检查最后一个选项是否为 "None of the above"
const isLastOptionNoneOfTheAbove = isLastOption && options[optionIndex].name === 'None of the above';

if (isLastOptionNoneOfTheAbove) {
  console.log("选中了最后一个  并且最后一个是None of the above");
  currentQuestion.selected = [];
} else if (isLastOption) {
  // 选中了最后一个但是最后一个不是 "None of the above",可以全选
} else {
  // 先选了 "None of the above" 再选择其他的,删除第一个
  if (selectedOptions.length !== 0 && options[selectedOptions[0]].name === 'None of the above') {
    selectedOptions.shift();
  }
}

this.questions[questionIndex]提取为一个变量,以避免在多处重复访问数组。

标签:None,const,测试题,代码,全选,选中,above,options
From: https://www.cnblogs.com/xxdmua/p/17582431.html

相关文章

  • Node.js低代码管理系统:只需点击鼠标,搭建属于你的企业应用
    低代码管理系统是一种通过可视化界面和简化的开发工具,使非专业开发人员能够快速构建和管理应用程序的系统。它提供了一套预先定义的组件和模块,使用户可以通过拖放操作来设计应用程序的界面和逻辑。低代码管理系统还提供了自动化的工作流程、数据管理和集成功能,使用户能够快速创建和......
  • 庆军之低代码vue模式
    原来render(h),h并不是一个对象。我一直以为,我可以写成render(h){ createuibycode(h,data,data.Data);returnh;},metchs:{createuibycode(h,ui,Data){....varuitype=ui....varuiprops=ui.propsvarsmh=h(uitype,uiprops,[]); }} 结果以上方案无法显......
  • 01-[Linux][GPIO]GPIO编程示例代码
    基于MTK平台的AndroidLinux驱动1、DTS配置如下gpio_sample:gpio_sample{compatible="mediatek,gpio-sample";input,high-gpio=<&pio77GPIO_ACTIVE_HIGH>;input,low-gpio=<&pio70GPIO_ACTIVE_HIGH>;out......
  • 伪代码中ties broken arbitrarily是什么含义?
    最近在看一个物联网的论文,论文的伪代码中有这么一个地方标有:tiesbrokenarbitrarily,对这个写法有些搞不清楚含义,于是网上找到了下面的资料:https://www.zhihu.com/question/480782518  该帖子中给出的Demo如下:   关键地方:    根据原帖子中的解释,个人理解......
  • SerfJ REST框架的示例代码
    [1].[代码]web.xml01 <servlet>02 <servlet-name>RestServlet</servlet-name>03 <servlet-class>net.sf.serfj.RestServlet</servlet-class>04 <load-on-startup>5</load-on-startup>05 </servlet>06 0......
  • svn分支代码整合到主干
    1.选择本地主干上的源代码文件,右键选择tortoiseSVN菜单,点击合并 2.合并模式、选择第一个注:Mergearangeofrevisions:主要是把分支中的修改合并到主干上来 3.URLtomergefrom选择要合并的分支Revisionrangetomergeallrevisions从创建到最后提交,所有修改的内容......
  • mybaties --- insert的底层封装代码
    //提交,当前的对象到数据库//.save()方法是IService接口提供的,而EmployeeService接口继承了IService接口employeeService.save(employee);/*defaultbooleansave(Tentity){returnSqlHelper.retBool(this.getBaseMapper().insert(entity));}这段代码是一个通用的保存方法......
  • RabbitMQ由于x-message-ttl设置与代码不一致导致declareQueue时IO异常
    具体异常:Causedby:com.rabbitmq.client.ShutdownSignalException:channelerror;protocolmethod:#method<channel.close>(reply-code=406,reply-text=PRECONDITION_FAILED-inequivalentarg'x-message-ttl'forqueue'queryResult'invho......
  • 从null-ls归档再看nvim的代码格式化与lint方案
    由于null-lsp的归档和暂停更新,我们需要重新审视并思考还有哪些架构简单易于理解的插件配置方案。本文将介绍脱离null-ls插件体系下的代码格式化和lint的插件配置方案。在之前的文章中《详解nvim内建LSP体系与基于nvim-cmp的代码补全体系-知乎(zhihu.com)》中我们提到了null-ls......
  • python代码中冒号出现错误
    如何解决Python代码中冒号出现错误作为一名经验丰富的开发者,我将为你介绍如何解决Python代码中冒号出现错误的问题。在本文中,我将为你提供一个简单的步骤指南,并通过代码示例来说明每个步骤的执行。解决流程下面是解决Python代码中冒号出现错误的流程,按照这些步骤一步一步进行操......