continue用于跳过当前循环剩余部分并进入下一次迭代,不改变原数组;常配合for/while实现条件跳过,如遍历中仅处理偶数;与filter相比,它适用于需多条件判断或状态累积的场景。

continue 不是用来“过滤数据”的,而是用来跳过当前循环的剩余部分、直接进入下一次迭代。它本身不改变数组或数据源,但配合 for 或 while 循环,能有效避开不符合条件的项,让后续逻辑只处理“需要的数据”。
在 for 循环中跳过特定元素
这是最常见也最直观的用法:遍历时判断条件,满足就 continue,不执行后面的操作。
例如,遍历一个数字数组,只对偶数做平方运算,奇数直接跳过:
const numbers = [1, 2, 3, 4, 5, 6]; for (let i = 0; i
在 for...of 中结合 continue(需包裹在标签语句中)
for...of 本身不支持 continue 跳出外层逻辑(比如跳出整个循环),但如果想在嵌套或复杂条件中提前跳过当前项,可以搭配标签(label)使用:
const items = ['apple', 'banana', 'cherry', 'date'];
outer: for (const item of items) {
if (item.length 不过更自然的写法是直接用 if 包裹业务逻辑,避免标签——除非有深层嵌套需要精确控制。
和 break 混淆?注意区别
-
continue:结束本次循环,回到循环开头,检查是否继续下一轮; -
break:彻底退出当前循环,不再执行任何后续迭代。
比如你想跳过字符串中的空格和数字,只处理字母:
const str = "a1b c2d"; for (let i = 0; i
替代方案提醒:filter + forEach 更声明式
如果你的目标是“真正过滤出数据再处理”,Array.prototype.filter() 加 forEach() 通常更清晰、更函数式:
const numbers = [1, 2, 3, 4, 5, 6]; numbers .filter(n => n % 2 === 0) // 先筛出偶数 → [2, 4, 6] .forEach(n => console.log(n ** 2));
continue 适合需要在循环中做多种判断、状态累积或早期中断当前轮次的场景;而 filter 更适合纯数据筛选后再统一处理。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











