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.
4.1 KiB
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个学生对象的数组,属性包括:
name、age、grade - 使用循环找出年龄在18岁及以上的学生
- 计算所有学生的平均成绩
- 创建一个仅包含成绩超过85分学生的新数组
示例结构:
const students = [
{ name: "Alice", age: 17, grade: 92 },
{ name: "Bob", age: 18, grade: 84 },
// 添加更多学生...
];
测试你的代码
通过以下方式测试你的程序:
- 在浏览器控制台运行每个练习
- 验证输出是否符合预期结果
- 使用不同的数据集进行测试
- 检查代码能否处理边界情况(空数组、单个元素)
提交指南
提交时请包括:
- 每个练习的带注释 JavaScript 代码
- 程序运行的截图或文本输出
- 简短说明你为每个任务选择的循环类型及原因
评分标准
| 标准 | 杰出(3分) | 合格(2分) | 需改进(1分) |
|---|---|---|---|
| 功能性 | 所有练习均正确完成及附加挑战 | 所有必做练习均正确工作 | 部分练习未完成或含错误 |
| 代码质量 | 代码整洁、结构良好,变量名描述清晰 | 代码能工作但可优化 | 代码混乱或难以理解 |
| 注释 | 详尽注释解释逻辑和决策 | 有基础注释 | 注释很少或没有 |
| 循环使用 | 适当使用不同循环类型,体现理解 | 正确使用循环,但种类较少 | 循环使用不当或效率低 |
| 测试 | 有充分多样的测试证据 | 展示了基础测试 | 测试证据少 |
反思问题
完成练习后请思考:
- 哪种循环类型用起来最自然,为什么?
- 使用数组时遇到了哪些挑战?
- 这些技能如何应用到真实的网页开发项目中?
- 如果需要优化代码性能,你会如何做?
免责声明: 本文件由AI翻译服务Co-op Translator进行翻译。虽然我们力求准确,但请注意自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。如涉及重要信息,建议采用专业人工翻译。因使用本翻译而引起的任何误解或误释,我们不承担任何责任。