forEach()
和map()
是Array 数组对象提供的循环数组的方法。不能像js循环表达式那样使用break
、'continue' 等结束循环语句。
那么在forEach()
和 map()
方法中如何终止循环和跳出本次循环呢?
在foreach和map函数里使用的 return 来实现跳出本次循环。以foreach 循环为例:
var arr = [1,2,3];
var newArr = []
arr.forEach((item,index) =>{
//下标小于2时,直接return之后,不执行后面的push。
if(index<2) {
return item
}
newArr.push(item)
})
console.log(newArr) // [3] //结果只有3
在foreach和map函数里使用的 throw 抛出异常来实现跳出本次循环。以foreach 循环为例:
var arr = [1,2,3]
var newArr = []
arr.forEach((item,index)=>{
try{
if(index > 1) {
throw new Error('文本小于2')
}
newArr.push(item)
}catch (e){
// throw e
}
})
console.log(newArr) [1,2]