之所以写这篇文章是在实际使用中有一些困惑;那么在for循环中使用什么来跳出循环呢,在forEach中又是使用什么来结束循环呢?

先看下代码

function test(arr){for (let i = 0; i < arr.length; i++) {console.log('1',arr[i])if (i === 2){break}}arr.forEach((item,index) => {console.log('2',item)if (index === 2){return}})
}test([1,2,3,1])

输出如下

1 1
1 2
1 32 1
2 2
2 3
2 1

由此可见,在for循环中使用 break是可以跳出循环的,再来看看使用return的情况

function test(arr){for (let i = 0; i < arr.length; i++) {console.log('1',arr[i])if (i === 2){return}}arr.forEach((item,index) => {console.log('2',item)if (index === 2){return}})
}test([1,2,3,1])

输出如下

1 1
1 2
1 3

可见这是直接跳出了整个test函数,也相当于跳出了循环,但下面的forEach不执行了,也就是说在for循环中使用return会切断当前函数的执行线程

至于forEach的话,在第一种情况中已经中已经能够体现出来了,可见在forEach中使用return既不会跳出循环,也不会杀掉当前函数的执行线程,对于这种情况可以使用arr.some()或者arr.every()替代

some()当内部 return true 时跳出整个循环:

every()当内部 return false 时跳出整个循环(但是该方法false和true两种状态都要写全,保证两个分支均能正常工作或输出),如下

arr.every(function(val,i){if(val==3){return false;    //注意这里是return false }else{    console.log(val);return true;    //注意这里的 return true 必须加上,不然会异常(打印不出2)}
})

forEach for 循环跳出问题相关推荐

  1. foreach数组循环结构体

    foreach数组循环结构体 foreach循环遍历任何维数的数组 Systemverilog增加了foreach循环,它可用来对一维或多维数组中的元素进行迭代,而不必指定数组每个维度的宽度.fore ...

  2. PHP中foreach遍历循环的使用(两种用法)

    foreach在循环遍历数组时是很便利的,PHP提供了两种方法:1. 输出不显下标 2.输出显示下标 (注意: foreach不支持@消除错误信息) 题目如图 输出不显下标: foreach($ st ...

  3. 易优cms foreach 数据循环输出标签

    [基础用法] 标签:foreach 描述:数据/记录循环输出标签(注:类似与volist标签,只是更加简单,没有太多额外的属性.) 用法: {eyou:channel type='top'} {eyo ...

  4. es6 forEach/map循环中断

    1.for循环在循环的时候 通过continue中断当次循环 通过break中断整个循环 通过retrun中断函数执行 2.es6的forEach/map循环只能通过return中断当次循环 //目的 ...

  5. java中跳出循环终止循环_js for终止循环 跳出多层循环

    今天写带代码的时候遇到一段代码,需要终止运行for,通过遍历json数据实现判断 var Tid="55555"; var jb51cp = [ {id:66666,Cpurl:& ...

  6. tp5循环查询语句_tp5 foreach 套循环的优化(就是foreach 里边再查表)

    优化建议: 1.不要foreach里边再查询表,因为循环多次查表会很占资源的 2.没有办法就关联表查询join 例子: 原写法: $rsdo=Db::name('order')->field(' ...

  7. js 循环拆词_javascript forEach通用循环遍历方法

    循环遍历一个元素是开发中最常见的需求之一,那么让我们来看一个由框架BASE2和Jquery的结合版本吧. 上一次的错误太多,排版也出现了问题,重写了一遍,希望大家支持. 循环遍历一个元素是开发中最常见 ...

  8. forEach for 循环

    前言:foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组.foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用. 能够应用的编程语言类别 ...

  9. 测试Unity中常用代码的运行所需时间:循环和函数篇 #性能测试 # for,foreach,while循环 #委托事件

    C# 循环和函数篇 〇.前言 系统自带计时器 -System.Diagnostics.StopWatch- 的使用 一.循环类型测试 1. for 循环测试 (1). 前后置自增自减测试 (2). 与 ...

最新文章

  1. Excel中如何截取字符串中指定字符后的部分字符
  2. 慕课的原型图快速变html,分享一个html转换为pdf 利器 Pechkin
  3. InfoQ专访:人工智能时代,什么才是你的最大竞争力?
  4. 热点效应是指_热电偶的热电效应是什么意思 浅谈热电偶下的热点效应
  5. 麦克风设计指导与选型参考
  6. python 二项分布_二项分布的理论基础、应用及Python实践
  7. java 中文 音序,java 中文字符串数组按照音序排列
  8. Android Multimedia框架总结(四)MediaPlayer中从Java层到C++层类关系及prepare及之后其他过程
  9. java中如何表示圆周率
  10. 巨头林立的音频赛道,喜马拉雅如何讲好资本故事?
  11. Kotlin 的静态代码分析工具
  12. 深入浅出Stream和parallelStream
  13. python入门论坛_PythonTab:Python中文开发者社区门户
  14. [k8s]非集群安装过程-笔记
  15. C++静态库与动态库的区别?
  16. mysql limit括号_MYSQL中LIMIT使用简介
  17. 金鹰Authorware视频教程
  18. zabbix监控部署
  19. R语言rlist包的使用
  20. havc是什么意思_HVAC系统是什么?

热门文章

  1. 后pc时代和新一代计算机定义,嵌入式系统:后PC时代的擎天之柱-可编程逻辑-与非网...
  2. html、css和js原生写一个模态弹出框,顺便解决父元素半透明子元素不透明效果...
  3. sys 系统库 笔记(一)—— 简介与快速入门
  4. Unity WEBGL设置浏览器全屏
  5. ubuntu10.04换官方源
  6. Linux小知识---常见的IO复用技术
  7. ApacheCN 翻译活动进度公告 2019.4.23
  8. 【优化】超详细的LMS算法的matlab实现
  9. CANoe测试的两种方式Test Module 和 Test Unit对比,你常用哪种呢?
  10. es6的reduce用于求数组总和