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.
This commit is contained in:
70
03-javascript-core/16-final-review/answer.js
Normal file
70
03-javascript-core/16-final-review/answer.js
Normal file
@@ -0,0 +1,70 @@
|
||||
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);
|
||||
Reference in New Issue
Block a user