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

4.4 KiB

陣列與迴圈作業

指示

完成以下練習以練習使用陣列和迴圈。每個練習都基於課程中的概念,並鼓勵你應用不同的迴圈類型和陣列方法。

練習 1數字模式生成器

建立一個程式,列出 1 到 20 之間的每第三個數字,並將其打印到控制台。

要求:

  • 使用具有自定義增量的 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 },
  // Add more students...
];

測試你的程式碼

測試你的程式:

  1. 在瀏覽器的控制台中執行每個練習
  2. 驗證輸出是否符合預期結果
  3. 使用不同的數據集進行測試
  4. 檢查你的程式碼是否能處理邊界情況(例如空陣列、單一元素)

提交指南

提交時請包含以下內容:

  • 每個練習的詳細註解 JavaScript 程式碼
  • 顯示程式執行結果的截圖或文字輸出
  • 簡要說明你為每個任務選擇的迴圈類型及原因

評分標準

評分標準 優秀 (3 分) 合格 (2 分) 需要改進 (1 分)
功能性 所有練習正確完成,包含額外挑戰 所有必須的練習正確完成 部分練習未完成或有錯誤
程式碼品質 乾淨、組織良好的程式碼,使用描述性變數名稱 程式碼可運行但可改進 程式碼混亂或難以理解
註解 詳盡的註解,解釋邏輯和決策 有基本的註解 幾乎沒有或沒有註解
迴圈使用 適當地展示對不同迴圈類型的理解 正確使用迴圈但種類有限 迴圈使用不正確或效率低下
測試 提供多種情境的全面測試證據 展示基本測試 幾乎沒有測試證據

反思問題

完成練習後,請思考:

  1. 哪種類型的迴圈最自然適合使用?為什麼?
  2. 在處理陣列時遇到了哪些挑戰?
  3. 這些技能如何應用於實際的網頁開發專案?
  4. 如果需要優化程式碼以提高性能,你會做哪些不同的事情?

免責聲明
本文件已使用 AI 翻譯服務 Co-op Translator 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋不承擔責任。