在寫程式時,重複動作非常常見:跑一個清單、計算累加、做一樣的檢查,我們用迴圈來控制這些重複動作!
for迴圈可以明確控制「從哪開始」、「跑到哪」、「每次增加多少」,直接來看看範例吧!
範例:
for (let i = 0; i < 5; i++) {
console.log('現在的 i:' + i);
}
這段程式會依序印出 i = 0, 1, 2, 3, 4i=0
宣告變數i並讓它等於0,從0開始計算i++
讓程式每跑一次就把i+1i<5
每次跑之前檢查條件,i如果小於5就再跑一次迴圈,直到不符合這個條件之後迴圈就會停下囉
如果你只知道「條件」,但不知道要跑幾次,就可以用 while 迴圈:
let count = 0;
while (count < 3) {
console.log('第 ' + count + ' 次');
count++;
}
只要條件成立就會一直執行,如果忘記在裡面更新變數(像 count++),條件永遠成立就會造成無限迴圈,要注意喔!
do...while 跟 while 類似,但至少會執行一次,不管條件一開始是否成立:
let num = 5;
do {
console.log('這段至少執行一次');
num--;
} while (num > 10);
這段即使條件一開始就是 false,也會先跑一次 do 裡的內容。
迴圈最常用來處理陣列。現代 JS 有更好讀的語法:
const fruits = ['apple', 'banana', 'cherry'];
// for...of
for (const fruit of fruits) {
console.log(fruit);
}
// forEach
fruits.forEach(function(fruit, index) {
console.log(index, fruit);
});
這樣不需要自己處理計數器,特別適合只要取出每個值的情況。
有時候你希望在某條件達成時就跳出迴圈,或是跳過某次迭代:
for (let i = 0; i < 10; i++) {
if (i === 3) continue; // 跳過 i = 3 這次
if (i === 7) break; // 遇到 i = 7 就整個迴圈結束
console.log(i);
}
小練習:總和計算器
寫一個程式,把 1 到 100 的數字全部加起來
let sum = 0;
for (let i = 1; i <= 100; i++) {
sum += i;
}
console.log('總和是:' + sum); // 5050
關於迴圈的介紹部分就到這裡啦,明天要研究迴圈!