首页IT科技js each 退出循环(js中几种循环的退出方式)

js each 退出循环(js中几种循环的退出方式)

时间2025-04-30 11:59:25分类IT科技浏览4035
导读:一、for循环 终止for循环的方式:break和continue...

一            、for循环

终止for循环的方式:break和continue

break:退出循环 continue:退出本次循环 let list = [1, 2, 3, 4] for (let i = 0; i < list.length; i++) { if (i == 1) { continue } if (i == 2) { break; } }

二                、forEach循环

用return     、break         、continue的方式都不能终止forEach循环          ,return在forEach里相当于for循环里的continue                 ,能够退出本次循环      ,可以使用try...chtch终止foreach循环

try{ var array = ["first","second","third","fourth"]; // 执行到第3次,结束循环 array.forEach(function(item,index) { if(item == "third"){ throw new Error("EndIterative"); } console.log(item); // first second }); }catch(e){ if(e.message != "EndIterative") throw e; } // 下面的代码不影响继续执行 console.log("继续执行          。                 。      。");

二                 、map循环

·map和forEach的区别

map不会改变原数组        ,而是会返回一个新的数组                ,数组中的元素为原数组调用callback函数处理后的值;如果是空数组         ,map返回的也是空数组 forEach只针对数组的每个元素调用callback      ,没有返回值                ,对于空数组是不会调用回调函数的            ,也没有返回值

终止map循环的方式和forEach相同

let list = [1, 2, 3, 4] try { list?.map(item => { console.log(执行); if (item == 1) { throw new Error(stop) } }) } catch (e) { if (e.message !== stop) { throw e } } list?.some(item => { if (item == 1) { return true } })

可以看出   ,forEach和map并不适合提前终止循环的情景                ,可以用every()       、some()代替

三               ,for in 循环

for…in循环主要是为了遍历对象的,break或continue可以生效

注:当for…in用来遍历数组时             ,遍历的结果为当前元素索引值的字符串形式

const person = { name: "111", age: 18, 1: 1, job: "student", }; for (const key in person) { if (key === "age") { break; } if (key === name) { continue; } }

四                  ,for of 循环

for…of和for…in都能用break和continue结束(跳出当前)循环

我们都知道for…of只能用来遍历那些内置iterator(Array, Atring, ArrayLike, Set, Map…)或者实现了@@iterator方法的数据类型   ,而普通的Object并没有内置iterator

for (const val of arr) {

if (val === 2) {

continue;

}

if (val === 3) {

break;

}

}

五          ,every()和some()

every():相当于且                 ,只要有一个不满足条件      ,就return false        ,只有都满足条件才会返回true

some():相当于或                ,只要有一个满足条件         ,就return true

let list = [ { name:"aaa", age:3 }, { name:"bbb", age:4 }, { name:"ccc", age:5 }, ] var every = list.every(function (item) { return item.age > 4 }) console.log(eve) // false var some = list.some(function (item) { return item.age > 4 }) console.log(some) // true

some退出循环:return / return true(不能return false) every退出循环:return false

声明:本站所有文章      ,如无特殊说明或标注                ,均为本站原创发布        。任何个人或组织            ,在未征得本站同意时   ,禁止复制      、盗用                  、采集          、发布本站内容到任何网站   、书籍等各类媒体平台                。如若本站内容侵犯了原著者的合法权益                ,可联系我们进行处理         。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
泰迪杯数据挖掘竞赛(【第十一届“泰迪杯”数据挖掘挑战赛】B题产品订单的数据分析与需求预测“解题思路“”以及“代码分享”) 网站索引什么意思(索引量大于收录量如何优化网站的搜索引擎收录)