メインコンテンツにスキップ
モジュール 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; // 2

continue: 次へスキップ

要素に興味はないが、ループを続けたい場合:

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 回の試行後に解決策が利用可能になります