You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/zh-TW/2-js-basics/4-arrays-loops/assignment.md

4.4 KiB

陣列與迴圈作業

指示

完成以下練習以練習使用陣列與迴圈。每個練習都建立在課程概念之上,並鼓勵您運用不同的迴圈類型與陣列方法。

練習 1數字模式產生器

建立一個程式,列出介於 1 到 20 之間每隔 3 個的數字並印出到主控台。

需求:

  • 使用帶有自訂增量的 for 迴圈
  • 以對使用者友善的格式顯示數字
  • 加入描述性註解解釋您的邏輯

預期輸出:

3, 6, 9, 12, 15, 18

提示: 修改 for 迴圈中的迭代表達式以跳過數字。

練習 2陣列分析

建立一個包含至少 8 個不同數字的陣列,並撰寫函式來分析資料。

需求:

  • 建立一個名為 numbers,包含至少 8 個值的陣列
  • 撰寫 findMaximum() 函式回傳最大數字
  • 撰寫 findMinimum() 函式回傳最小數字
  • 撰寫 calculateSum() 函式回傳所有數字的總和
  • 測試每個函式並顯示結果

加分挑戰: 建立一個函式找出陣列中第二大的數字。

練習 3字串陣列處理

建立一個您最喜歡的電影/書籍/歌曲的陣列,並練習不同的迴圈類型。

需求:

  • 建立一個至少包含 5 個字串值的陣列
  • 使用傳統 for 迴圈以編號1. 項目名稱)方式顯示項目
  • 使用 for...of 迴圈以大寫顯示項目
  • 使用 forEach() 方法計算並顯示字元總數

範例輸出:

Traditional for loop:
1. The Matrix
2. Inception
3. Interstellar

For...of loop (uppercase):
THE MATRIX
INCEPTION
INTERSTELLAR

Character count:
Total characters across all titles: 42

練習 4資料篩選進階

建立一個程式處理代表學生的物件陣列。

需求:

  • 建立至少包含 5 個學生物件的陣列,物件屬性包含:nameagegrade
  • 使用迴圈找出年齡 18 歲以上的學生
  • 計算所有學生的平均成績
  • 建立一個新陣列,只包含成績超過 85 的學生

範例結構:

const students = [
  { name: "Alice", age: 17, grade: 92 },
  { name: "Bob", age: 18, grade: 84 },
  // 添加更多學生...
];

測試您的程式碼

透過以下方式測試您的程式:

  1. 在瀏覽器主控台執行每個練習
  2. 驗證輸出是否符合預期結果
  3. 使用不同資料集進行測試
  4. 確認您的程式能處理邊界案例(空陣列、單一元素)

繳交指南

請於繳交時包含:

  • 每個練習具有良好註解的 JavaScript 程式碼
  • 顯示程式執行的截圖或文字輸出
  • 簡短說明您為每個任務選擇的迴圈類型及理由

評分標準

標準 優秀3 分) 尚可2 分) 需改進1 分)
功能 所有練習正確完成且包含加分挑戰 所有必需練習皆正確執行 部分練習未完成或含有錯誤
程式碼品質 程式碼整潔、有組織且變數名稱具描述性 程式碼可運作,但可更清晰 程式碼雜亂或難以理解
註解 詳盡說明邏輯與決策 具基本註解 註解極少或沒有
迴圈使用 適當展現不同迴圈類型的理解 正確使用迴圈但種類有限 迴圈使用錯誤或效率低
測試 有多種情境完整測試的證據 展示基本測試 幾乎沒有測試證據

反思問題

完成練習後請思考:

  1. 哪種類型的迴圈使用起來最自然?為什麼?
  2. 在操作陣列時遇到了哪些挑戰?
  3. 這些技能如何應用於實際的網頁開發專案中?
  4. 若要優化程式效能,您會如何做出不同的設計?

免責聲明
本文件使用 AI 翻譯服務 Co-op Translator 進行翻譯。雖然我們力求準確,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言文件應視為權威版本。對於重要資訊,建議使用專業人工翻譯。我們不對因使用本翻譯所產生的任何誤解或誤釋承擔責任。