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-HK/2-js-basics/4-arrays-loops/assignment.md

4.0 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 所翻譯。儘管我們致力於確保準確性,但請注意,自動翻譯可能存在錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們不對因使用本翻譯而引起的任何誤解或誤釋承擔責任。