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 // 跳出当前循环
            }
        }
    }
    使用return的情况: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')
            }
        })
    }
    使用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    //可以终止循环
    }
}
posted @   王二疯  阅读(29968)  评论(3编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示