模块 5 · 第 3 课(共 4)课程中的19/32~10 min
模块课程(3/4)
中断并继续
循环中两个非常有用的小词:
break立即退出最内层循环。continue跳转到下一个迭代,而不执行主体的其余部分。
break:提前退出
典型的“找到第一个满足条件的”:
JS
function primoNegativo(nums) {
for (const n of nums) {
if (n < 0) return n; // o: result = n; break;
}
return undefined;
}
primoNegativo([3, 7, -2, 4, -9]); // -2显式 break 的示例:
JS
let trovato = -1;
const nums = [10, 20, 30, 40, 50];
for (let i = 0; i < nums.length; i++) {
if (nums[i] === 30) {
trovato = i;
break;
}
}
trovato; // 2continue:跳到下一个
当某个元素不感兴趣但您想继续循环时:
JS
function sommaPari(nums) {
let totale = 0;
for (const n of nums) {
if (n % 2 !== 0) continue; // salta i dispari
totale += n;
}
return totale;
}
sommaPari([1, 2, 3, 4, 5, 6]); // 12在许多情况下, if (cond) { ... } 是等效的; continue 在主体较长时有帮助
并且您希望保持流程平坦(少量嵌套)。
尝试一下
锻炼#js.m5.l3.e1
尝试:0加载中...
定义“firstGreater(nums,threshold)”,返回nums中严格大于threshold的第一个元素,如果没有则返回未定义。使用中断(或立即返回)。
正在加载编辑器...
显示提示
for 中的 return 同时用作break + return。
3 次尝试后可用的解决方案
复习练习
锻炼#js.m5.l3.e2
尝试:0加载中...
定义“sumSkippingZeros(nums)”,对除精确零之外的所有元素求和。使用继续。
正在加载编辑器...
显示提示
如果n === 0,则继续;否则会累积。
3 次尝试后可用的解决方案