news 2026/6/29 3:28:50

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/6/28 20:32:27

大数据预测分析:提升供应链管理效率

大数据预测分析在供应链管理中的应用:从理论到实践的效率提升框架 元数据框架 标题 大数据预测分析在供应链管理中的应用:从理论到实践的效率提升框架 关键词 大数据预测、供应链管理、需求预测、库存优化、机器学习、因果推断、智能决策 摘要 在全球化与…

作者头像 李华
网站建设 2026/6/27 21:58:20

32、化学网络中的精确矩动力学计算示例解析

化学网络中的精确矩动力学计算示例解析 1. 简单非线性示例 考虑一个包含三种物质的前馈系统,其中物质 (S_1) 催化 (S_2) 的生成,并且 (S_1) 和 (S_2) 共同作用生成 (S_3)。具体反应如下: - (0 \xrightarrow{\kappa_1} S_1 \xrightarrow{\delta_1} 0) - (S_1 \xrightarrow…

作者头像 李华
网站建设 2026/6/26 2:51:50

34、分布式控制器设计与机器学习图像分析方法

分布式控制器设计与机器学习图像分析方法 1. 分布式控制器设计理论 1.1 分布式梯度与目标函数 在多智能体系统中,连续可微函数 (V : R^{nd} \to R^+) 在图 (G) 上具有分布式梯度的充要条件是 (V(x)) 在 (G) 上是团分解的。这表明所有具有分布式梯度的目标函数都具有特定形式…

作者头像 李华
网站建设 2026/6/29 7:30:59

18、工业人机物理系统集成的数字化与控制评估

工业人机物理系统集成的数字化与控制评估 1. 自下而上评估阶段概述 在自上而下设计阶段结束后,自下而上阶段开始对设计好的人机工业物理系统(HICPS)进行评估。“工程”方法常被错误地等同于设计阶段的“实施”部分,即自下而上的评估阶段,此阶段大多是“技术性”的,当工…

作者头像 李华
网站建设 2026/6/28 17:16:45

45、反垃圾邮件措施全解析

反垃圾邮件措施全解析 1. 垃圾邮件问题概述 在计算机领域,垃圾邮件指的是那些无用的电子邮件,比如可疑的防脱发疗法广告、非法的金字塔骗局,以及用你不懂的语言编写的神秘信息等。对于电子邮件管理员来说,垃圾邮件是一个严重的问题,它主要涉及两个方面:一是防止系统被用…

作者头像 李华
网站建设 2026/6/28 18:49:39

泉盛UV-K5固件升级终极指南:LOSEHU固件5分钟快速上手

想让你的泉盛UV-K5/K6对讲机从"能用"升级到"好用"吗?LOSEHU固件正是你需要的魔法钥匙!这款开源固件为原厂设备注入了全新活力,让业余无线电爱好者也能享受专业级功能。今天,我将带你快速解锁这款固件的全部潜…

作者头像 李华