這裡要介紹 for 搭配 break 的用法、使用時機
在farms
陣列中,有三個物件
JS:
1 | var farms = [ |
🎃 先計算出陣列中的「資料有幾筆」: var farmsTotal = farms.length;
如果我在「for
迴圈」裡面,帶入console.log(i);
,那麼這個「for
迴圈」就會「跑三次」(i
依序會帶入 0, 1, 2)
JS:
1 | var farmsTotal = farms.length; |
只跑一次for
迴圈:加上「break;
」
🎃 我想讓「for
迴圈」只「跑一次」,就可以在大括號裡面加上「break;
」
🍋 利用「break;
」語法,來跳出迴圈
🍋 「break;
」代表:程式碼「從上到下」依序執行到「break;
」時,就不會再繼續執行後面的「for
迴圈」了
JS:
1 | var farmsTotal = farms.length; |
break;
使用時機
什麼情況下,會需要使用到break;
呢?
請看以下的範例說明
JS:
1 | var farms = [ |
在farms
陣列中,有三個物件(三個農場)
🎃 目的:我要找一個農場,買 50 隻小雞
🎃 在for
迴圈的大括號裡面,先用if
寫條件:小雞要「大於 50 隻」: if(farms[i].chick > 50)
- 用
console.log()
將有符合if
條件的「farmer
名字」列出來
1 | // 我要找一個農場,買 50 隻小雞 |
🎃 雖然符合if
條件的有兩個農場(‘卡斯伯’ 、 ‘約翰’),但是因為有加上break;
,「for
迴圈」找到第一個結果後(只跑了一次),就停止了
可以看到,在 Console 就只會顯示一個結果「卡斯伯的小雞有 > 50 隻」
完整 JS 程式碼
1 | var farms = [ |
數字做運算(在for
迴圈裡面)
接續上面的結果,我想要知道:
'卡斯伯’的農場,賣出 50 隻小雞後,還剩下幾隻小雞?
🎃 把小雞數量「減 50」: farms[i].chick -= 50;
JS:
1 | // 我要找一個農場,買 50 隻小雞 |
🎃 在 Console 就會顯示「卡斯伯的小雞還剩下150」(200 - 50 = 150)
🎃 這種數字運算的做法,也可以用在:設計遊戲時,答對一題「+ 10 分」