This commit is contained in:
rou
2026-03-23 14:56:04 +08:00
parent 00d3c9e4c6
commit 1071f4db05
27 changed files with 549 additions and 50 deletions

View File

@@ -5,6 +5,20 @@ const students = [
{ name: "小陈", finished: false },
];
const scores1 = scores.map(item => item = item + '分')
const scores2 = scores.filter(item => item > 60)
const scores3 = scores.reduce((acc, item) => { return item + acc }, 0)
const scores4 = scores.find(item => item >= 90)
const scores5 = scores.some(item => item >= 90)
const scores6 = students.every(item => item.finished === true)
console.log("分数:" + scores1);
console.log("及格分:" + scores2);
console.log("总分:" + scores3);
console.log("第一个 >= 90 的分数:" + scores4);
console.log("是否存在不及格:" + scores5);
console.log("是否都及格:" + scores6);
// 任务:
// 1. 用 map 生成 ["58分", ...]
// 2. 用 filter 筛出及格分
@@ -12,3 +26,9 @@ const students = [
// 4. 用 find 找到第一个 >= 90 的分数
// 5. 用 some 判断是否存在不及格
// 6. 用 every 判断 students 是否都 finished 为 true
/* 用 `map` 生成带单位的新数组
- 用 `filter` 找出及格成绩
- 用 `reduce` 计算总分
- 用 `find` 找出第一条大于等于 90 的成绩
- 用 `some` 判断是否有人不及格
- 用 `every` 判断是否全部完成考试*/

View File

@@ -19,7 +19,16 @@ function printStepTwo() {
function updateUser(user) {
// 任务:
// 1. 修改 user.city
user.city = '北京'
}
scoreB = 90
console.log('scoreA' + scoreA + ',scoreB' + scoreB);
userB.city = '秦皇岛'
console.log(userA.city, userB.city);
printStepOne()
printStepTwo()
updateUser(userA)
console.log(userA);
// 任务:
// 2. 修改 scoreB观察 scoreA 是否变化

View File

@@ -6,9 +6,43 @@ const finalComment = null;
let statusText = "";
const finishedRecords = [];
switch (learningStatus) {
case 'review':
console.log('已学习')
break
case 'ing':
console.log('学习中');
break
case 'prepare':
console.log('未学习');
break
default:
console.log('状态未知');
break
}
console.log(optionalNote, finalComment);
for (let i = 0; i < records.length; i++) {
if (records[i] === null || records[i] === undefined) {
console.log(`${i + 1}项为空值,停止读取`)
break
} else {
finishedRecords.push(records[i])
}
}
console.log(finishedRecords)
// 任务:
// 1. 用 switch 给 learningStatus 生成说明文字
// 2. 输出 optionalNote 和 finalComment 分别是什么
// 3. 用 for 循环读取 records
// 4. 如果遇到 undefined 或 null就 break
// 5. 输出 finishedRecords
/*用 `switch` 根据学习状态输出不同说明
- 观察 `undefined` 和 `null` 的区别
- 用循环读取学习记录
- 如果读到 `undefined` 或 `null`,立即用 `break` 停止循环
- 输出停止前已经读取到的内容*/

View File

@@ -2,6 +2,7 @@ const reviewer = {
name: "林晨",
stage: "final-review",
showTitle() {
console.log(`学习营总复盘器`);
// 输出总复盘标题
},
};
@@ -14,12 +15,47 @@ const lessons = [
{ title: "综合回顾", score: 95, finished: true },
];
let mentorNote;
const reviewComment = null;
let mentorNote;//undefined
const reviewComment = null;//null
function getStageText(stage) {
// 用 switch 返回阶段说明
switch (stage) {
case 'final-review':
console.log('已学习');
break
case 'ing-review':
console.log('学习中');
break
case 'start-review':
console.log('未学习');
break
default:
console.log('状态未知');
break
}
}
reviewer.showTitle()
console.log(mentorNote, reviewComment);
const lessons1 = []
for (let i = 0; i < lessons.length; i++) {
if (lessons[i].score != null) {
lessons1.push(lessons[i])
}
}
const sum = lessons.reduce((acc, item) => {
return acc + item.score
}, 0)
console.log("总分:" + sum);
console.log(`平均分:${sum / lessons.length}`);
const reviewerAlias = reviewer
reviewerAlias.stage = 'ing-review'
console.log(reviewer.stage, reviewerAlias.stage);
// 任务:
// 1. 调用 reviewer.showTitle()
@@ -28,3 +64,11 @@ function getStageText(stage) {
// 4. 用高阶函数统计课程标题、完成状态和平均分
// 5. 创建 reviewerAlias 指向 reviewer修改 stage观察原对象是否变化
// 6. 输出最终结果
/* 一个带方法的 `reviewer` 对象
- 一个 `lessons` 数组
- 一个用 `switch` 输出阶段说明的函数
- 一个用 `for + break` 清洗有效数据的过程
- 至少两个数组高阶函数
- 对 `undefined` 和 `null` 的判断
- 一段对象引用变化的观察代码
- 最终输出标题、有效课程、平均分、完成状态*/