es6 forEach/map循环中断 您所在的位置:网站首页 for循环怎么停止 es6 forEach/map循环中断

es6 forEach/map循环中断

2023-09-14 16:58| 来源: 网络整理| 查看: 265

1.for循环在循环的时候

通过continue中断当次循环

通过break中断整个循环

通过retrun中断函数执行

2.es6的forEach/map循环只能通过return中断当次循环

//目的:数据匹配到了就中断循环 //结果:所有循环都执行了 let data = [1,2,3,4,5,6] data.forEach((val,index,arr)=>{ console.log(`当前第${index+1}循环执行了`) if(val>3){ //模仿真实场景条件匹配成功条件 return } console.log('val', val) })

3.解决forEach无法中断循环:抛出异常

try{ let data = [1,2,3,4,5,6] data.forEach((val,index,arr)=>{ console.log(`当前第${index+1}循环执行了`) if(val>3){ //模仿真实场景条件匹配成功条件 throw new Error(); } console.log('val', val) }) }catch(e) { } console.log("继续执行")

4.思考:抛出错误这种写法不好,当遇到需要终止循环的时候,不应该使用forEach/map;可以使用js的for/for in等;或是es6针对数组的其他方法:

Array.prototype.every()Array.prototype.some()Array.prototype.find()Array.prototype.findIndex()

以上方法返回truthy值以确定是否需要进一步的迭代

//1.every:一假即假,true则继续循环,false就不执行循环了 let data = [1,2,3,4,5,6] data.every((val,index,arr)=>{ console.log(val) return val{ console.log(val) return val>3 }) //结果:1 2 3 4, 并return true //3.find: 找到就返回该值并退出循环 let data = [1,2,3,4,5,6] data.find((val,index,arr)=>{ console.log(val) return val>3 }) //结果:1 2 3 4, 并return 4

5.参考



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有