js for和forEach 跳出循环 替代方案

1 for循环跳出

javascript 复制代码
for(let i=0;i<10;i++){
    if(i===5){
        break;
    }
    console.log(i)
}

在函数中也可以return跳出循环

javascript 复制代码
function fn(){
  for(let i=0;i<10;i++){
    if(i===5){
        return;
    }
    console.log(i)
  }
}
fn()

for ... of效果同上

2 forEach循环跳出

break会报错

javascript 复制代码
[1,2,3,4,5,6,7,8,9,10].forEach(i=>{
    if(i===5){
        break;
    }
    console.log(i)
})

return不能跳出forEach循环

javascript 复制代码
[1,2,3,4,5,6,7,8,9,10].forEach(i=>{
    if(i===5){
        return;
    }
    console.log(i)
})

try...catch可以跳出循环

javascript 复制代码
try{
    [1,2,3,4,5,6,7,8,9,10].forEach(i=>{
        if(i===5){
            throw new Error('跳出循环');
        }
        console.log(i)
})}catch(e){
    console.log(e)
}

3 替代方案

一些情况下,可以使用some,find,every去代替foreach退出循环

  • some 只要有一项为true,跳出循环。
  • every 只有每一项都返回true,函数返回true ,所以只要有一项不是true就会跳出循环
  • find 只要找到目标值,就会跳出循环
相关推荐
林姜泽樾13 小时前
python入门第六课,其他字符串格式化和input
开发语言·python·pycharm
代码改善世界13 小时前
【C++初阶】手撕C++ string类
java·开发语言·c++
追雨潮13 小时前
内存向量检索引擎设计与实现:C# 轻量级 Milvus 替代方案
开发语言·c#·milvus
隐形喷火龙13 小时前
CentOS7 基于 FRP 实现 Java Web 服务内网穿透实操记录
java·开发语言
小碗羊肉13 小时前
【从零开始学Java | 第二十五篇】TreeSet
java·开发语言
wjs202413 小时前
NumPy 从数值范围创建数组
开发语言
java1234_小锋13 小时前
Java高频面试题:ElasticSearch如何做性能优化?
java·开发语言·elasticsearch·面试
静心观复13 小时前
Lua 脚本是什么
开发语言·lua
江沉晚呤时14 小时前
深入理解 Akka.NET:高并发与分布式系统的利器
开发语言·c#·.net