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

4.1 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进行翻译。虽然我们力求准确,但请注意自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。如涉及重要信息,建议采用专业人工翻译。因使用本翻译而引起的任何误解或误释,我们不承担任何责任。