這裡要介紹 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 分」
