news 2026/8/31 16:11:18

this.selectedTestType.findIndex(x => x.name === item.name);findIndex 的作用详细介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
this.selectedTestType.findIndex(x => x.name === item.name);findIndex 的作用详细介绍

// 选中 / 取消toggleTestType(item:TestTypeItem){item.checked=!item.checked;constindex=this.selectedTestType.findIndex(x=>x.name===item.name);if(item.checked&&index===-1){this.selectedTestType.push(item);}elseif(!item.checked&&index>-1){this.selectedTestType.splice(index,1);}}

1. findIndex 的作用

  • const index = this.selectedTestType.findIndex(x => x.name === item.name);

  • findIndex 会遍历数组,找出 第一个满足条件的元素的索引。

  • 返回值:

    • 如果找到匹配元素 → 返回该元素在数组中的索引(从 0 开始)。

    • 如果没有找到 → 返回 -1。

举个例子:

constarr=['a','b','c'];arr.findIndex(x=>x==='b');// 返回 1arr.findIndex(x=>x==='d');// 返回 -1

所以 -1 就是 数组中不存在这个元素的标记。

2. 为什么写 index === -1 和 index > -1

if(item.checked&&index===-1){this.selectedTestType.push(item);}elseif(!item.checked&&index>-1){this.selectedTestType.splice(index,1);}
  • item.checked && index === -1:

    • 条件解释:当前项被选中,但还没有在已选数组里

    • 动作:把它加入 selectedTestType。

  • !item.checked && index > -1:

    • 条件解释:当前项被取消选中,并且在已选数组里存在

    • 动作:从 selectedTestType 中移除它。

  • 关键点:

    • -1 表示“未找到”,所以要用它判断是否存在。

    • index > -1 表示“找到了”,可以安全地删除。

详细解释:array.splice(start, deleteCount, …items)

  • start → 从数组的哪个索引位置开始操作

  • deleteCount → 要删除多少个元素

  • …items → 可选,要插入的新元素

this.selectedTestType.splice(index,1);

index → 找到的要删除的元素在数组中的位置

1 → 只删除一个元素

没有提供其他元素 → 所以只是删除,不添加新元素

这一行就是 从 selectedTestType 数组中移除被取消选中的测试类型。

3. 总结

  • index 的确是从 0 开始计数的,但 findIndex 没有找到时才返回 -1。

  • 所以这里的判断逻辑是为了:

  • 防止重复添加(避免数组中出现重复元素)

  • 只删除存在的元素,避免报错

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/31 6:45:36

ComfyUI与Mosquitto MQTT代理集成:物联网场景适配

ComfyUI与Mosquitto MQTT代理集成:物联网场景适配 在智能制造车间的边缘服务器上,一台搭载GPU的工作站正安静运行。突然,产线摄像头检测到异常划痕,一张图像数据包通过局域网被推送到消息中枢——几毫秒后,AI推理节点自…

作者头像 李华
网站建设 2026/8/31 9:04:34

7、脚本编程中的代码片段与替代语法技巧

脚本编程中的代码片段与替代语法技巧 在脚本编程的世界里,提高效率和代码的可复用性是永恒的追求。本文将介绍如何使用VS Code创建代码片段,以及脚本编程中一些替代语法的使用方法。 1. 使用VS Code创建代码片段 对于喜欢图形化IDE的开发者来说,VS Code是编写shell脚本的…

作者头像 李华
网站建设 2026/8/30 17:32:34

15、使用 AWK 总结日志

使用 AWK 总结日志 1. HTTPD 日志文件格式 在处理任何文件时,首先要熟悉文件的结构。对于 Apache HTTPD 网络服务器的访问日志文件,在基于 Debian 的系统中,默认日志文件位置是 /var/log/apache2/access.log ,其他系统可能使用 httpd 目录代替 apache2 。 可以使用…

作者头像 李华
网站建设 2026/8/30 3:58:33

ComfyUI插件生态盘点:提升效率的必备扩展推荐

ComfyUI插件生态盘点:提升效率的必备扩展推荐 在AI生成内容(AIGC)浪潮席卷创意产业的今天,越来越多设计师、开发者和企业开始将Stable Diffusion等模型引入实际生产流程。然而,当“一键生成”不再满足精细化创作需求时…

作者头像 李华
网站建设 2026/8/31 11:41:55

交通信号仿真软件:Synchro_(14).Synchro与其他软件的集成

Synchro与其他软件的集成 在交通信号仿真领域,Synchro 软件虽然功能强大,但有时需要与其他软件进行集成以实现更复杂的功能或数据交换。本节将详细介绍如何将 Synchro 与其他软件进行集成,包括数据导入/导出、脚本自动化和 API 调用等方面的内…

作者头像 李华