update
This commit is contained in:
@@ -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` 判断是否全部完成考试*/
|
||||
@@ -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 是否变化
|
||||
|
||||
@@ -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` 停止循环
|
||||
- 输出停止前已经读取到的内容*/
|
||||
@@ -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` 的判断
|
||||
- 一段对象引用变化的观察代码
|
||||
- 最终输出标题、有效课程、平均分、完成状态*/
|
||||
|
||||
Reference in New Issue
Block a user