Files
front-end-example/03-javascript-core/16-final-review/answer.js
charlie 877acb5a8f feat: Add JavaScript core exercises and solutions
- Implemented exercises for array high-order methods, memory and execution, switch statements, and final review.
- Added starter and answer files for each exercise to facilitate learning.
- Created a runner HTML file to execute JavaScript code and display console outputs.
- Updated README files to include exercise objectives, tasks, and usage instructions.
2026-03-13 11:09:19 +08:00

71 lines
1.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const reviewer = {
name: "林晨",
stage: "final-review",
showTitle() {
console.log(`${this.name} 的学习营总复盘`);
},
};
const lessons = [
{ title: "变量", score: 80, finished: true },
{ title: "闭包", score: 92, finished: true },
{ title: "this", score: 87, finished: true },
{ title: "补漏练习", score: null, finished: false },
{ title: "综合回顾", score: 95, finished: true },
];
let mentorNote;
const reviewComment = null;
function getStageText(stage) {
switch (stage) {
case "basic":
return "基础阶段";
case "advanced":
return "补充阶段";
case "final-review":
return "总复习阶段";
default:
return "未知阶段";
}
}
reviewer.showTitle();
console.log("阶段说明:", getStageText(reviewer.stage));
console.log("mentorNote 是否为 undefined", mentorNote === undefined);
console.log("reviewComment 是否为 null", reviewComment === null);
const validLessons = [];
for (let index = 0; index < lessons.length; index += 1) {
const lesson = lessons[index];
if (lesson.score === undefined || lesson.score === null) {
console.log(`在《${lesson.title}》处遇到空成绩,停止读取后续项目。`);
break;
}
validLessons.push(lesson);
}
const lessonTitles = validLessons.map(function (lesson) {
return lesson.title;
});
const averageScore =
validLessons.reduce(function (total, lesson) {
return total + lesson.score;
}, 0) / validLessons.length;
const allFinished = validLessons.every(function (lesson) {
return lesson.finished === true;
});
const reviewerAlias = reviewer;
reviewerAlias.stage = "advanced";
console.log("引用修改后的 reviewer.stage", reviewer.stage);
console.log("有效课程:", lessonTitles.join("、"));
console.log("平均分:", averageScore);
console.log("是否全部完成:", allFinished);