forEach中return无效问题及解决方法
在项目中使用forEach进行遍历,是无法实现:达到某一条件,希望跳出循环,代码不继续执行。
let arrData = [1,2,3,4,5,6]
arr.forEach((item,index) => {
if(index === 4) {
return
}
})
原因:forEach()无法在所有元素都传递给调用的函数之前终止遍历
解决方法:使用for替换forEach
例如:
let arrData = [1,2,3,4,5,6]
for(let i = 0; i < arrData .length; i ++) {
if(i === 4) {
return
}
}
也可以直接使用break,终止循环.
关于for循环的终止循环:
break:终止循环执行循环体下面的代码
return:终止循环并且退出循环所在的方法
continue:终止当前循环,进行下一次循环