Vue进阶(幺零七):arr.forEach() 跳出循环

本文详细介绍了在JavaScript中使用forEach循环时,如何通过try...catch异常处理或利用arr.some()和arr.every()方法来实现在特定条件下提前结束循环的技巧。这为开发者提供了在不使用传统的for循环的情况下,更优雅地控制循环流程的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、前言

我们都知道for循环里要跳出整个循环是使用break,但在数组中用forEach循环如要退出整个循环呢?使用break会报错,使用return也不能跳出循环。

使用break将会报错:

var arr = [1,2,3,4,5];
var num = 3;
arr.forEach(function(v){
	if(v == num) {
		break;
	}
	console.log(v);
});

使用return也不能跳出整个循环:

var arr = [1,2,3,4,5];
var num = 3;
arr.forEach(function(v){
	if(v == num) {
		return;
	}
	console.log(v);
});

那么在用forEach()遍历数组时要如何才能跳出循环呢?经过查找资料后,找到以下两种方法可以实现跳出循环。

二、应用 try···catch 捕获异常实现

try{
	var array = ["first","second","third","fourth"];
	array.forEach(function(item,index){
		if(item === "third"){
			var a = aaaa;// first second 后就报错,就跳出循环了
			throw new Error("ending");//报错,就跳出循环
		}else{
			log(item);
		}
	})
}catch(e){
	if(e.message == "ending"){
		log("结束了") ;
	}else{
		log(e.message);
	}
}

三、应用 arr.some() 或者 arr.every()

some()当内部return true时跳出整个循环:

var arr = [1,2,3,4,5];
var num = 3;
arr.some(function(v){
	if(v == num) {
		return true;
	}
console.log(v);
});

every()当内部return false时跳出整个循环:

var arr = [1,2,3,4,5];
var num = 3;
arr.every(function(v){
	if(v == num) {
		return false;
	}else{
		console.log(v);
		return true;
	}
});

四、拓展阅读

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

No Silver Bullet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值