当前位置: 首页 > news >正文

JavaScript 中如何跳出(或终止)forEach 循环

  • 在for循环中,可以使用break跳出循环、continue跳过当次循环。
let arr = [1,3,5,7,9];
let id = 5;
for (let i = 0; i < arr.length; i++) {if(arr[i]=== 1) continue;    //跳过当次循环console.log(arr[i])if (arr[i] === id) {    break;   //满足条件,跳出循环}}
 只会打印出3和5;说明到5就跳出了循环,而1跳过了当次循环。
  • 在forEach循环中,可以通过抛出异常的方式跳出循环,通过return跳过当次循环。
var arr = [1,3,5,7,9];
var id = 5;
try {arr.forEach(function (curItem, i) {if(curItem === 1) return;    //跳过当次循环console.log(curItem)if (curItem === id) {throw Error();   //满足条件,跳出循环}})} catch (e) {}

小结:

  • forEach不能使用break和continue这两个关键字,它实现break效果可以通过抛出异常的方式,实现continue的效果可以直接使用return。
  • forEach的优势就是,它传入的是一个回调函数,因此形成了一个作用域,它内部所定义的变量不会像for循环一样污染全局变量。
  • forEach本身无法跳出循环,必须遍历所有的数据才能结束。

参考:https://blog.csdn.net/yiyueqinghui/article/details/105832438

相关文章:

  • zabbix最新版本7.2超级详细安装部署(一)
  • Helix QAC 2025.1 重磅发布!MISRA C:2025® 100%覆盖
  • 【C++】【设计模式】生产者-消费者模型
  • 数据库--处理模型(Processing Model)
  • 有限资源下的AI搜索策略:2025年SEO优化指南
  • 在scala中使用sparkSQL读入csv文件
  • 前端面试每日三题 - Day 33
  • Vue 2 和 Vue 3的比较(二、语法差异)
  • 新一代动态可重构处理器技术,用于加速嵌入式 AI 应用
  • 索尼(sony)摄像机格式化后mp4的恢复方法
  • CAElinux系统详解
  • Retrofit vs Feign: 介绍、对比及示例
  • Spring Boot 跨域问题全解:原理、解决方案与最佳实践
  • Java GUI 开发之旅:Swing 组件与布局管理的实战探索
  • EBS 段值安全性配置
  • 【软件测试】第一章·软件测试概述
  • Spring AI 开发本地deepseek对话快速上手笔记
  • 理解计算机系统_并发编程(5)_基于线程的并发(二):线程api和基于线程的并发服务器
  • 正点原子T80烙铁拆解学习
  • 服务器制造业中,L2、L6、L10等表示什么意思
  • 王毅谈中拉命运共同体建设“五大工程”及落实举措
  • 福建厦门市副市长、市公安局局长陈育煌出任吉林省公安厅厅长
  • 人大新闻教育70年丨16759门课程里的时代密码
  • 观众走入剧院空间,人艺之友一起“再造时光”
  • 在地球另一端的交流,架起2万公里间更多共赢的桥梁
  • 被流量绑架人生,《人生开门红》能戳破网络时代的幻象吗