js中几种循环的退出方式
Posted 我不会JavaScript
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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")
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
js 循环遍历变量的几种方式
参考技术A js循环遍历变量的方式有以下几种:1.for(let i = 0; i < 5; i++)
2.forEach
3.for of
4.for in
那么我们来看下这几种遍历方式的用法,以及退出循环的方法
1.for
这是最常用的遍历方法,for用来遍历数组,可以使用break 退出循环,使用continue来跳过本次循环。
2.forEach
除了抛出异常以外,没有办法中止或跳出 forEach() 循环。
并且forEach不会改变原来的数组
3.for of
for of 可以迭代 可迭代对象 (包括 Array , Map , Set , String , TypedArray , arguments 对象等等)
对于for of,可以由break, throw 或return终止, 可以用continue略过此次循环。在这些情况下,迭代器关闭。
以上是关于js中几种循环的退出方式的主要内容,如果未能解决你的问题,请参考以下文章