Accounting Principles (MGT1001-03 & MGT1001-04) Data Analytics 教學講義 Author:國立臺灣大學會計學系數位助教 杜昕 Mic Tu
範例檔案
Google Sheet Teaching Materials-Chapter 12 Examples
Table of Contents
迴圈提供一個快速又簡潔的方法來重複地做某件事。以上一章最後的例子為例,可發現判斷是否pass的機制在每一個學生皆相同,但是在程式碼中卻出現了三次,此時便可以使用for迴圈將一樣的程式碼重複執行三次,for的語法為for ([初始表達式]; [條件式]; [遞增表達式]) {內容},當執行一個for迴圈時,會依序執行以下步驟:
初始表達式,初始表達式通常會初始化迴圈計數器條件式,如果評估出的值為true則會執行迴圈的內容,反之則會終止for迴圈上面的說明可能有點複雜,以下將上面的例子寫成迴圈說明之
// 原本的程式碼
function pass() {
var score = [['A', 75], ['B', 85], ['C', 55]];
if (score[0][1] >= 60) console.log(score[0][0] + ' Pass!'); // A Pass!
else console.log(score[0][0] + ' Fail!');
if (score[1][1] >= 60) console.log(score[1][0] + ' Pass!'); // B Pass!
else console.log(score[1][0] + ' Fail!');
if (score[2][1] >= 60) console.log(score[2][0] + ' Pass!');
else console.log(score[2][0] + ' Fail!'); // C Fail!
}
// 使用迴圈的程式碼
function pass() {
var score = [['A', 75], ['B', 85], ['C', 55]];
for (var i = 0; i < score.length; i = i + 1) {
if (score[i][1] >= 60) console.log(score[i][0] + ' Pass!'); // A Pass!
else console.log(score[i][0] + ' Fail!');
}
}
上述程式碼的初始表達式、條件式、遞增表達式、內容如下:
初始表達式:var i = 0:在條件式、遞增表達式中,會判斷i的值決定迴圈是否進行內容,因此在初始表達式中,設立一個變數i = 0,以初始化迴圈計數器條件式:如果評估出的值為true則會執行迴圈的內容,而這個迴圈會對每個同學一次,因此會根據score的長度決定是被執行的次數,因此條件式為i < score.length