for 和 forEach 使用return,是跳出当前的循环,还是整个循环

return必须是使用在函数里面的

return有2个作用,结束函数和返回结果

let aa = function() {
        for(var i = 0; i < 5; i++) {
            console.log(i)
            if (i == 3) {
                // return
                // break // 跳出整个循环
                // continue // 跳出当前循环
            }
        }
    }
    aa() // 0 1 2 3

    let bb = function () {
        let arr = [1, 2, 3, 4, 5]
        arr.forEach(item => {
            console.log(item)
            if (item == 3) {
                console.log('item')
                // return
                // break // 语法报错
                console.log('return')
            }
        })
    }
    bb() // 1 2 3 item 4 5

以上得出: for 使用return 、 break,是跳出了整个循环。

              forEach 使用return只是跳出了当前的循环, 使用break报语法错误。
              forEach  无法在所有元素都传递给调用的函数之前终止遍历

那么如何在forEach 跳出整个循环,可以使用try ,然后主动抛出一个错误:

 let bb = function () {
        let arr = [1, 2, 3, 4, 5]
        try {
            arr.forEach(item => {
                console.log(item)
                if (item == 3) {
                    console.log('item')
                    // return
                    // break // 语法报错
                    throw new error // 主动去抛出一个错误
                    console.log('return')
                }
            })
        } catch {
            console.log('跳出来了')
        }
    }
    bb() // 1 2 3 item 跳出来了

try/catch/finally

try 语句允许我们定义 在执行的时候 进行错误测试的 代码块

catch 就是在try语句遇到错误的时候,所执行的代码

finally 就是在 try 和catch之后 ,无论有无异常都执行

转自:https://blog.csdn.net/qq_42341025/article/details/99974038

let arr = [7,5,4,3,1,5,2,6,6,3,4]
arr.forEach((item,index) => {
    if(index === 3) {
        return    //不能终止循环
    }
})

也可以用for代替forEach

let arr = [7,5,4,3,1,5,2,6,6,3,4]
for(let i = 0; i < arr.length; i ++) {
    if(i === 3) {
        return    //可以终止循环
    }
}

原文地址:https://www.cnblogs.com/panghu123/p/11723644.html

时间: 2024-10-07 03:23:14

for 和 forEach 使用return,是跳出当前的循环,还是整个循环的相关文章

PHP foreach()跳出本次或当前循环与终止循环方法

PHPforeach()跳出本次或当前循环与终止循环方法 PHP中用foreach()循环中,想要在循环的时候,当满足某个条件时,想 $arr = array('a','b','c','d','e'); $html = ''; foreach($arr as $key => $value){ if($value=='b'){ $html .= $value; continue; // 当 $value为b时,跳出本次循环 } if($value=='c'){ $html .= $value; b

for循环,forin循环和Array.every(),obj.forEach()方法运行速度对比

for循环和forin循环是ES3中的数组和对象迭代方法,在ES5中加入了原生方法Array.every()和object.forEach()方法来迭代,下面的例子用来比较两种方式的运行速度. 注意:IE不兼容. /** * Created by Administrator on 2016/12/22. * for()循环和Array.every()方法运行速度 */ var Arr=[5,6,12,23,0,11,"wasd",'on',34,22,111,8,9,89,'off',

跳出多层循环:三层循环,最里层直接跳出3层

跳出多层循环:三层循环,最里层直接跳出3层 方法一: 在Python中,函数运行到return这一句就会停止,因此可以利用这一特性,将功能写成函数,终止多重循环 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def work():                                  #定义函数     for i in range(5):         print("i=", i)         for j in range(5):        

【代码优化】for-each代替普通的for循环或者while循环

对于集合的遍历首选方法是for-each for(Element e :c){ doSomething(e): } 这是1.5版本之后的做法:java1.5之前使用的是Iterator迭代器. 为了弄清楚为啥比普通的for循环或者whlie循环好,请看一下代码 Iterator<Element> i=c.iterator(); while(i.hasNext()){ doSomething(i.next()); } Iterator<Element> i2=c.iterator()

for循环,for...in循环,forEach循环的区别

for循环 是应用最广泛的循环形式,适用于已知循环次数,循环嵌套情况 循环逻辑: 1. 定义循环变量并且赋值初始值 2. 判断是否符合进入循环的条件 3. 执行循环体 4. 执行步长 注:1 - 4步为循环执行 基本语法: for...in循环 for-in循环实际是为循环”enumerable“对象而设计的 例: forEach循环 从ES5开始 Javascript内置了forEach方法 用来遍历数组基本语法: 形参1:存储数组单元的数据 形参2:存储数组单元的索引下标 形参3:存储原始数

for循环,for…in循环,forEach循环的区别

for循环,for…in循环,forEach循环的区别for循环通关for循环,生成所有的索引下标for(var i = 0 ; i <= arr.length-1 ; i++){ 程序内容 }来执行循环. forEach循环数组.forEach(function(形参1,形参2,形参3){})形参1: 存储的是当前循环次数时,获取的单元数据形参2.储存的是当前循环次数时,获取的单元索引下标形参3.储存的是原始数组三个参数不一定全部定义,看实际项目要求forEach() 只能循环遍历数组,不能循

php foreach跳出本次/当前循环与终止循环方法

continue:跳出本次循环 break:终止循环 exit:用来结束程序执行 return: 用来结束一段代码   $arr= array('le','yang','jun','lecode','gagade'); $html= ''; foreach($arras $key => $value){ if($value=='b'){ $html.= $value; continue;// 当 $value为b时,跳出本次循环 } if($value=='c'){ $html.= $value

JAVA基础整理-19.foreach、return、break、continue语句

foreach for(类型 变量名:集合) { 语句块; } foreach 循环语句是 for 语句的特殊简化版本,主要用于执行遍历功能的循环.“类型”为集合元素的类型,“变量名”表示集合中的每一个元素,“集合”是被遍历的集合对象或数组. return return 语句用于终止函数的执行或退出类的方法,并把控制权返回该方法的调用者.如果这个方法带有返回类型,return 语句就必须返回这个类型的值:如果这个方法没有返回值,可以使用没有表达式的 return 语句. 在 switch 语句中

JavaScript的map循环、forEach循环、filter循环

1.map循环 let arr=[1,2,3,4]; arr.map(function(value,key,arr){ //值,索引,数组(默认为选定数组) return item; //如果没有return则返回一个全是undefined的数组,个数是索引+1(key+1) }) //返回一个数组 2.forEach循环 let arr=[1,2,3,4]; arr.map(function(value,key,arr){ //值,索引,数组(默认为选定数组) return item; //进