モジュール 5 · レッスン 3 / 4コース内の 19/32~10 min
モジュールのレッスン (3/4)
中断して継続する
ループ内の 2 つの非常に便利な短い単語:
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読み込み中…
厳密にしきい値より大きい nums の最初の要素を返す `firstGreater(nums, thread)` を定義します。ブレーク (または即時リターン) を使用します。
エディターを読み込み中…
ヒントを表示
for 内の return は、break + return として同時に機能します。
3 回の試行後に解決策が利用可能になります
復習演習
運動#js.m5.l3.e2
試行回数: 0読み込み中…
正確なゼロを除くすべての要素を合計する `sumSkippingZeros(nums)` を定義します。継続して使用します。
エディターを読み込み中…
ヒントを表示
n === 0の場合は続行します。それ以外の場合は蓄積します。
3 回の試行後に解決策が利用可能になります