0


js中几种循环的退出方式

js各种for循环的结束方式

一、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"){thrownewError("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){thrownewError('stop')}})}catch(e){if(e.message !=='stop'){throw e
  }}

list?.some(item=>{if(item ==1){returntrue}})
可以看出,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)// falsevar some = list.some(function(item){return item.age >4})
console.log(some)// true

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


本文转载自: https://blog.csdn.net/weixin_46369590/article/details/126820828
版权归原作者 我不会JavaScript 所有, 如有侵权,请联系我们删除。

“js中几种循环的退出方式”的评论:

还没有评论