let arr = [
{a:1,b:2},
{a:1,b:3},
{a:1,b:4},
]
arr.forEach(i=>{
console.log(i);
if(i.b==3){
return
}
})
//输出结果
//{ a: 1, b: 2 }
//{ a: 1, b: 3 }
//{ a: 1, b: 4 }
所以,用return是无效的,map也是同理,用break就更不行了,会直接报错
正确的方式:
try {
arr.forEach(i=>{
console.log(i);
if(i.b==3){
throw Error();
}
})
} catch (e) {}
//输出结果
//{ a: 1, b: 2 }
//{ a: 1, b: 3 }
补充:如果改用for…of,用 break 和 return 都是可以的
for(let i of arr){
console.log(i);
if(i.b==3){
break
}
}