Javascript初學者課程(9)-for迴圈應用

Javascript初學者課程(9)-for迴圈應用
Javascript初學者課程(9)-for迴圈應用

本日的JavaScript教學就是要教你正確應用for迴圈哦!

迴圈

JavaScript 的「迴圈(Loops)」可以多次執行一組程式。一般來說,當前端工程師操作時,遇到有有多個值,需要重複執行同程式,用「迴圈(Loops)」非常方便。

JavaScript 有三種迴圈:forwhile do while 。最常用的 for 迴圈 JavaScript 語法如下:

See the Pen JavaScript9-for-loop-1 by Tedutw (@Tedutw) on CodePen.

上述例子是十分典型的 for 迴圈(for loop)格式,包含三個條件敘述 (statement):

在迴圈開始之前執行「條件敘述 1」;

「條件敘述 2」定義了迴圈運行的條件;

每次迴圈跑完之後,執行「條件敘述 3」。

For 迴圈

以下的 for 迴圈範例中,顯示出 7 個等於或小於 7 的整數:

See the Pen JavaScript9-for-loop-2 by Tedutw (@Tedutw) on CodePen.

以上示例中,迴圈開始前,條件敘述 1 設置了一個變數(變數 i = 1);

條件敘述 2 定義了迴圈運行的條件(i 必須小於或等於 7)。

每次執行迴圈中的程式代碼後,條件敘述 3 都會增加一個值(i ++)。

條件敘述 1 是選擇性的:如果在迴圈開始前就已經定義了值,則可以將其省略。如下例 (因為在 for 迴圈之前便已經定義了「var i = 1」,因此 for 迴圈就省略了條件敘述 1 ):

See the Pen JavaScript9-for-loop-3 by Tedutw (@Tedutw) on CodePen.

如果條件敘述 2 結果為真(true),則迴圈將重頭開始執行;反之,迴圈將結束。與條件敘述 1 一樣,條件敘述 2 也是選擇性的(可以省略)。

如果省略條件敘述 2 ,就必須在迴圈內加一個 break。否則迴圈將不會結束哦。

條件敘述 3 用於更改初始變數。可以使用任何方式來修改變數,包括減去(i–)或增加(i = i + 15)等等。

條件敘述 3 也是選擇性的(可以省略),假設在迴圈內增加值,則可以將其省略。

See the Pen JavaScript9-for-loop-4 by Tedutw (@Tedutw) on CodePen.

 

 

 

 

推薦文章:
Javascript初學者課程(10)-兩種while迴圈


Javascript初學者課程(3)-資料類型應用


Javascript初學者課程(5)-賦值運算子應用


毛小孩照片超難修?靠Photoshop輕鬆就搞定!


擠進高薪科技大門-Java課程等你來瞭解!


連日本麻將好手都驚艷的人工智慧天鳳你挑戰過嗎?(1)


Java課程、UI課程、程式課程、網路行銷課程推薦


擺脫設備工程師血汗職涯, 零基礎的我成功轉職 Python 資料工程師


2天考取Google Ads證照!新手廣告投放攻略


44歲媽咪順利轉職網頁設計師, 家庭事業都得意


零基礎如何花 14 小時考取 GoogleAds 認證?五種 GoogleAds 廣告不藏私攻略


從無到有 挑戰14小時取得Google證照

控制結構搞不定?Python大師幫幫你(10)-for迴圈

控制結構搞不定?Python大師幫幫你(10)-for迴圈
控制結構搞不定?Python大師幫幫你(10)-for迴圈

還在為Python所有的控制結構傷腦筋嗎?不用怕,跟著我們的腳步一起認識它們吧!(十)

看這一篇之前,建議先看過這一篇「Python控制結構5.while 迴圈」複習一下 while 迴圈。

Python教學中,如果我們要多次重複執行一個指令,我們可以使用迴圈(loops)。迴圈中的程式碼會用以下的方式執行指令:1、按照所指定的次數,重複執行;2、重複執行,直到特定的條件成立時結束;3、針對某一集合(例如:Python list串列之中的物件)中的所有項目,都會各執行一次。

for 迴圈 vs. while 迴圈

之前我們曾經介紹過的 while 迴圈用法與 if 條件判斷式相似,只要給予的條件成立(即為「True(真)」),它就會執行。不同的是執行次數,if 只執行一次;while 迴圈則輪迴執行無限多次 (除非有設定讓迴圈結束的條件且條件成立)。

while 迴圈只要「沒有」另外設定「迴圈結束的條件(如:if 、break)」,迴圈就會無限的循環。本次我們要介紹的 for 迴圈則是在一行內就 自帶計數功能的迴圈,可以將重複循環控制在固定的數量內。

以下為一個 while 迴圈的範例,起始值為「count=0」、調整值為「count = count + 1」、讓迴圈結束的條件為「<= 5」,如下所示:

count=0 
while count <= 5: 
    print(count)
    count = count + 1    

上述範例結果為:

0
1
2
3
4
5

上個範例,若我們把第二行的「count <= 5」抽掉,換成一個「合乎常理」的條件(例如 count = 0),這個 loop 就會「0,1,2,3,4,5,6,7⋯⋯」永無止盡的重複「+1」的動作。同個範例,若使用 for 迴圈,則在第一行就可以搭配 range數列,定義「終止值」。如下例:

for count in range(0,6,1):
  print(count)

上述例子結果為:

0
1
2
3
4
5

有沒有發現,原本使用 while loop 需要 4 行的 coding,使用 for loop 只要兩行?

因為 while 迴圈把三大控制條件:初始值、讓迴圈結束的條件、更新值(又稱為調整值)分散在各行來敘述,for 迴圈則使用 range數列 將這三大控制條件放在同一行中展現。上述 range 的寫法為「range(起始值為0,迴圈在6之前就結束,調整值為+1),一行立刻應用 Range數列來訂定起始值、結束條件與調整方法,是不是很精簡又方便的?Python 的 range 函數的詳細用法請見這一篇。

下面還有另外一個例子,為 for 迴圈應用 Python List串列函數的,將串列表中的所有物件都執行一次的範例:

the_BIG4=["Megadeth","Metallica","Anthrax","Slayer"]
for bandname in the_BIG4:
    print(bandname+" is a thrash metal band.")

上述例子結果為:

Megadeth is a thrash metal band.
Metallica is a thrash metal band.
Anthrax is a thrash metal band.
Slayer is a thrash metal band.

這種針對某一集合中的所有項目(例如:List串列之中的所有物件),都各執行一次例子,若用 while 迴圈來表示則需要:1、套用到 counter 「計數器」變數(計數器的數值是跟著索引跑的,所以設定起始值為「counter = 0」。串列的索引編號均是從零開始,詳細請看這篇)。;2、調整值為多加一次,故把計數器變數設為「counter = counter + 1」;3、讓迴圈結束的條件為當計數器把串列的東西全都執行結束時,因此把計數器的值設定為「最大的索引數」, 結果如下所示:

the_BIG4=["Megadeth","Metallica","Anthrax","Slayer"]
counter = 0
max_index = len(the_BIG4)-1

while counter <= max_index:
   bandname = the_BIG4[counter]
   print(bandname + " is a thrash metal band.")
   counter = counter + 1

比起來,for 迴圈自帶計數的特性,真的簡化了 Python 程式碼的寫法。所以有機會遇到有次數限制的迴圈時,不妨使用 for 迴圈吧!

 

 

 

 

 

推薦文章:

 

 

控制結構搞不定?Python大師幫幫你(9)-數列生成

控制結構搞不定?Python大師幫幫你(9)-數列生成
控制結構搞不定?Python大師幫幫你(9)-數列生成

還在為Python所有的控制結構傷腦筋嗎?不用怕,跟著我們的腳步一起認識它們吧!(九)

Python 中的「range」函數可以用來生成數字序列,如果沒有指定,數字序列就會由「0」開始。下例指定數字序列生成到 20 個,如下例所示:

numbers = list(range(20))
print(numbers)

上述範例結果為:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

Python 的「range」函數可以用來生成由零開始的數字序列,但是我們仍然可以指定起始值如下:

numbers = list(range(7, 14))
print(numbers)

print(range(20) == range(0, 20))

上述例子結果為:

[7, 8, 9, 10, 11, 12, 13]

True

一般在Python教學中,我們除了可以輸入兩個參數,指定序列的起始值外,其實還可以指定第三個參數(必須為整數),藉此定義每個數字中間間隔為多少。如下所示:

numbers = list(range(7, 14, 2))
print(numbers)

上述例子結果如下所示:

[7, 9, 11, 13]

 

 

 

推薦文章: