JavaScript - For...of Loop
歡迎,有抱負的程式設計師們!今天,我們將深入探討 JavaScript 最有用的功能之一:for...of 循環。作為你們親切友善的計算機科學老師,我興奮地要為你們指導這個旅程。所以,拿起你們最喜歡的飲料,放鬆身心,讓我們一起踏上這次編程冒險!
for...of Loop 是什麼?
在我們深入了解之前,讓我們先了解一下 for...of 循環是關於什麼的。想像一下你有一籃子色彩繽紛的水果,你想一一檢查每個水果。for...of 循環就像你的得力助手,從籃子中拿起每個水果,一個接一個地遞給你,直到籃子空了。
在編程術語中,for...of 循環讓我們能夠迭代(一個花俏的詞,意思是“ traverse”)像數組、字符串和其他我們稍後會學到的數據結構這樣的可迭代對象。
語法
現在,讓我們看看如何寫一個 for...of 循環。別擔心一開始看起來有點奇怪——我們會一起分解它!
for (variable of iterable) {
// 要執行的代碼
}
讓我們剖析一下:
-
for
:這個關鍵字告訴 JavaScript 我們正在開始一個循環。 -
variable
:這是我們在迭代過程中存儲每個項目的地方。 -
of
:這個關鍵字使得這成為一個 for...of 循環。 -
iterable
:這是我們正在迭代的對象(就像我們的水果籃)。 - 花括號
{}
內的代碼是我們想要對每個項目做的操作。
範例
範例 1:遍歷一個數組
讓我們從一個簡單的範例開始。我們將創建一個水果數組並打印每一個。
let fruits = ['apple', 'banana', 'cherry', 'date'];
for (let fruit of fruits) {
console.log(fruit);
}
如果你運行這段代碼,你會看到:
apple
banana
cherry
date
這裡發生了什麼?我們的 for...of 循環正在從 fruits
數組中取出每個水果並將其存儲在 fruit
變量中。然後,我們使用 console.log()
打印每個水果。
範例 2:遍歷一個字符串
你知道字符串也是可迭代的嗎?讓我們拼出一句話:
let word = 'Hello';
for (let letter of word) {
console.log(letter);
}
這將輸出:
H
e
l
l
o
字符串中的每個字符都被視為一個可以迭代的獨立項目。酷炫吧?
範例 3:使用 for...of 與數字
現在,讓我們來得更實際一些。想像你是一個老師(像我一樣!),你想計算一個班的平均分數:
let scores = [85, 92, 78, 95, 88];
let total = 0;
let count = 0;
for (let score of scores) {
total += score;
count++;
}
let average = total / count;
console.log(`The class average is ${average}`);
這段腚本會計算並打印平均分數。我們使用 for...of 循環來加起所有的分數並計算有多少個。
範例 4:中斷循環
有時候,你可能想要在循環結束之前停止它。我們可以使用 break
關鍵字來做到這一點。讓我們說我們正在尋找一種特定的水果:
let fruits = ['apple', 'banana', 'cherry', 'date'];
let searchFor = 'cherry';
for (let fruit of fruits) {
if (fruit === searchFor) {
console.log(`Found ${searchFor}!`);
break;
}
console.log(`Checking ${fruit}...`);
}
這段腚本會在找到 'cherry' 後停止,而不會檢查其餘的水果。
範例 5:使用 continue 跳過項目
如果我們想跳過某些項目呢?我們可以使用 continue
關鍵字。讓我們只打印以 'a' 開頭的水果:
let fruits = ['apple', 'banana', 'apricot', 'cherry', 'avocado'];
for (let fruit of fruits) {
if (!fruit.startsWith('a')) {
continue;
}
console.log(fruit);
}
這將只打印 'apple'、'apricot' 和 'avocado'。
方法表格
這裡是一個我們在範例中使用過的方法的便捷表格:
方法 | 描述 | 範例 |
---|---|---|
console.log() |
將輸出打印到控制台 | console.log('Hello, World!') |
startsWith() |
檢查字符串是否以指定的字符開頭 |
'apple'.startsWith('a') // true |
break |
離開循環 | if (condition) break; |
continue |
跳過循環的當前迭代 | if (condition) continue; |
結論
好了,各位!我們已經穿越了 for...of 循環的領地,從簡單的數組到字符串,甚至學會了如何中斷或跳過項目。記住,熟練的關鍵在於練習,所以不要害怕嘗試這些概念。
在我多年的教學經驗中,我發現最好的學習方式就是實踐。所以,這裡有一點家庭作業給你們:嘗試使用不同類型的數據創建你自己的 for...of 循環。也許可以遍歷你喜歡的電影,或者你朋友的名字。可能性無限!
快樂編程,並記住——在編程的世界裡,每個循環都是發現的機會!
Credits: Image by storyset