因为自己比较大只,容易忘记,仅此用来记录一下~

各种循环中使用return或者退出循环的机制。

1、forEach 使用 return 可以退出循环吗?下面代码打印啥?

    const list = [1, 2, 3, 4, 5]list.forEach(e => {if (e === 3) {return}console.log(e, 'each-end')})

答案是:

通过上面的例可以看出,forEach里面return ,只能退出当前forEach回调,无法退出循环。那可能有的小伙伴就会说了,用break呢,现在请记住,forEach里面如果使用 break 则会报错。

那如何是for循环呢?看看下面的列子会运行出什么结果?

运行结果:

由此可见 for 循环里面加 return 是退出函数,如果将 return 换成break,因为break是跳出循环,所以函数内的其他代码还是会执行。

但是值得注意的是,for循环里面加return必须写在函数里面,不然会报错,假设不写在函数里面,那return到哪里去呢,很明显是有问题。

上面代码 return 换成 break 的结果打印:

那如果一定要在forEach中退出循环呢?别急,也是有办法的。

可以用try...catch实现。

当然,像用some,find,every去代替foreach 退出循环不失为一种更好的方法。

some 只要有一项为true,就会跳出循环。

every 只有每一项都返回true,函数返回true ,所以只要有一项不是true就会退出循环。

find 只要找到目标值,就会跳出循环。

js foreach与for循环之return跳出循环相关推荐

  1. 原生JS forEach()和map()遍历的区别以及兼容写法

    一.原生JS forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前 ...

  2. js中的for循环如何跳出,js中for循环的两种语法

    js几种for循环的几种用法 谷歌人工智能写作项目:小发猫 js,for循环是怎么运行的? typescript有哪些变化. 最普遍的介绍:for循环是JavaScript中最常用的循环,标准for循 ...

  3. js实现简单的循环打字效果(思路分享)

    1.初始化"打字创建"属性 代码类似于这样: <div id="demo"></div> <script>var typin ...

  4. 循环遍历时跳出循环方法汇总

    一,break : continue; return:. 区别:continue:结束for循环中的needArrey[i] == 3的这一次遍历,不再执行needArrey[i] == 3下面的代码 ...

  5. Java基础【之】循环、流程控制 (if else、whitch case、while、do while、for...i、foreach、多层循环与退出)

    Java基础[之]循环.流程控制 (if else.whitch case.while.do while.for...i.foreach.多层循环与退出) 1.默认顺序执行 2.分支控制 if els ...

  6. 异步方法中map、forEach和for循环中带来的异步执行问题

    关键词:map() forEach() for() 异步执行 res.jsonp() CSDN个人博客:http://blog.csdn.net/sam976 问题描述 在map循环中使用mongoo ...

  7. forEach 如何终止循环

    const arr = [1, 2, 3, 4, 5]; 1.使用 return 方式(不能终止) 跳过值为3时,再继续循环 /* 1.使用 return */ arr.forEach(item =& ...

  8. nodejs中forEach和普通循环区别

    问题描述: 最近在写代码中发现在forEach循环中,使用await函数跟正常的循环有区别,所以进行记录. 一般我们都将forEach叫做增强for循环,确实减少了部分代码量,但是当内部使用await ...

  9. [JS] for-each和map()的区别

    先说下for-each与for-of还有for-in的区别. for-of和for-in都是对对象操作的,而for-each和map()是对数组进行操作的. for-in的使用:对于一个数组里的每一个 ...

最新文章

  1. python爬虫获取的网页数据为什么要加[0-Python爬虫实战1-解决需要爬取网页N秒后的内容的需求...
  2. frdora10_a8_linux,在Fedora 10中安装IRAF
  3. 公钥密码--Elgamal
  4. hdoj-1005-Number Sequences
  5. 云湖共生-释放企业数据价值
  6. mysql union_Mysql union和union all用法
  7. 图像数据转换成db(leveldb/lmdb)文件(转)
  8. Maven-pon.xml模板(ssm自用)持续更新
  9. matlab表白_撩妹攻略|理工男专属情人节表白礼物来啦~
  10. 东南大学微型计算机期末,12级东南大学微机期中试卷
  11. 使用Spring Security安全控制
  12. 2%用计算机怎么算,五险一金计算器的使用方法
  13. UEFI的诞生与优势
  14. flashfxp 命令行
  15. mysql的配置文件(my.ini或者 my.cnf)所在位置
  16. BZOJ4484: [Jsoi2015]最小表示
  17. PyCharm 字母大小写切换
  18. 2022年全球与中国视频显示控制器行业发展趋势及投资战略分析报告
  19. C++ 使用string的头文件和要求
  20. 使用getUserMedia实现录像

热门文章

  1. elementUI 显示局部加载loading
  2. C语言算法——实现二分查找
  3. 如何提高短信群发效果
  4. 商家怎么做公众号推文?
  5. 影响人生的五个经济学思维
  6. Xmind文档解析导入
  7. behance上流行的抽象炫酷资源,国外高级抽象炫酷素材合集分享
  8. CSS3动画之3D动画
  9. 关闭是否只查看安全传送的网页内容提示框 和 是否允许运行软件,如ActiveX控件和插件提示框
  10. 【搬砖】安卓入门(1)- Java开发入门