continue如果滿足/未滿足某個條件,則進入回圈是標準做法。在 JavascriptforEach回圈中,這會產生語法錯誤:
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的是箭頭函式還是箭頭函式,都會發生這種情況。你怎么能continue在forEach回圈中?
顯然,你可以做一個反例(if (value !== 3) { ... }),但這不是我想要的。
uj5u.com熱心網友回復:
正如@robertklep 所說, forEach() 不是一個回圈,它是一個函式。您不能continue在 forEach 回圈中使用關鍵字,因為它的功能是回圈陣列中的每個專案。
為了實作您可以使用的類似行為,
for(let item of values){
if (item === 3) {
continue;
}
console.log(item);
}
uj5u.com熱心網友回復:
出于實際目的,forEach() 回呼中的 return 等效于傳統 for 回圈中的 continue,但它不是函式式編程模式最慣用的用法
為了解決這個問題,您可以在回圈之前進行過濾:
const values = [1, 2, 3, 4, 5];
values.filter(v => v !== 3).forEach((value) => {
console.log(value);
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/495976.html
標籤:javascript 循环
