var arr = ['199', '2', '499'];
arr.forEach((a, index) => {
console.log(a);
if (a.substring(a.length -2) =='99') {
return false;
}
});
符合当前条件时,就跳出循环,for循环内使用return false可以直接结束循环;但是在forEach中不可以跳出循环,
打印结果依次为199 2 499;
查了查资料得知:forEach无法在所有元素都传递给调用的函数之前终止循环,其中写return false只是中止本次的继续执行,不是终止for循环;
使用break试一下,结果报错了。

要想解决问题,得用一下方法
使用try···catch捕获异常实现

或者使用some()

或者使用every( )

网友评论