You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

按要求改写JavaScript的forEach循环为更高效实现(附示例)

代码改写方案

原forEach实现代码

var isExist = false;    
var cashoutIndex = 0;    
CashOutData.forEach((item, index) => {    
    if (item.id === userBets[0][i].id) {    
        isExist = true;    
        cashoutIndex = index;        
    }    
});    

改写后的高效实现

利用数组的findIndex方法,它会在找到第一个匹配项后立即终止遍历,相比forEach遍历全部元素的方式性能更优,同时能直接获取目标索引,进而判断是否存在匹配项:

// 获取匹配id的元素索引,找不到则返回-1
const cashoutIndex = CashOutData.findIndex(item => item.id === userBets[0][i].id);
// 根据索引判断是否存在匹配项
const isExist = cashoutIndex !== -1;

改写说明

  • findIndex方法遍历数组时,一旦找到符合条件的元素就停止遍历,避免不必要的循环,提升性能
  • 代码结构更简洁,直接通过返回值同时得到索引和存在状态,减少冗余变量的初始化操作

内容的提问来源于stack exchange,提问作者code coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 04:45:57