【发布时间】:2022-08-09 23:10:27
【问题描述】:
如果满足/未满足某个条件,则在循环内continue 是标准做法。在 Javascript forEach 循环中,这会产生语法错误:
const values = [1, 2, 3, 4, 5];
values.forEach((value) => {
if (value === 3) { continue; }
console.log(value);
})
SyntaxError[ ... ]: Illegal continue statement: no surrounding iteration statement
无论我使用function 还是箭头函数,都会发生这种情况。你怎么能在forEach 循环中continue?
显然,你可以做一个反例(if (value !== 3) { ... }),但这不是我要找的。
-
使用
return而不是continue。 -
forEach()不是循环,而是函数。如果你想要一个循环,请使用for (const value of values) { … } -
@Ouroborus
return而不是continue确实可以正常工作(+1)-但是,它的行为并不是立即显而易见的。很容易认为您正在返回父函数而不是forEach中的箭头函数。
标签: javascript loops