数据准备: 成绩数组

  1. const scores = [
  2. { name: "张三", age: 17, score: 100 },
  3. { name: "李四", age: 19, score: 85 },
  4. { name: "王五", age: 23, score: 93 },
  5. { name: "赵六", age: 12, score: 72 },
  6. { name: "小红", age: 11, score: 59 },
  7. { name: "小明", age: 32, score: 96 },
  8. { name: "小刘", age: 45, score: 60 },
  9. { name: "小张", age: 14, score: 87 },
  10. ];

every()

对数组每一项都运行传入的函数,如果对每一项函数都返回 true ,则这个方法返回 true 必须全部符合

  1. const isEvery = scores.every(({ score }) => {
  2. return score >= 60;
  3. });
  4. console.log(
  5. "1 案例: 同学们这次考试如果全部及格(全部大于等于60分)的话就没有假期作业"
  6. );
  7. console.log(isEvery ? "恭喜恭喜,假期愉快" : "很遗憾,有同学不及格");

filter()

对数组每一项都运行传入的函数,函数返回 true 的项会组成数组之后返回 条件过滤

  1. const excellentStudents = scores.filter(({ score }) => {
  2. return score > 80;
  3. });
  4. console.log(
  5. "2 案例: 这次考试关乎每个人,高于80分的需要分的同学将被分配到优秀班级"
  6. );
  7. excellentStudents.forEach(({ name, score }) =>
  8. console.log(${name},${score}分,恭喜)
  9. );

forEach()

对数组每一项都运行传入的函数,没有返回值 迭代查看

  1. console.log("3 案例: 来来来,宣读成绩了");
  2. scores.forEach(({ name, score }) => {
  3. console.log(${name},${score}分,恭喜);
  4. });

map()

对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组 调整对象格式

  1. const evaluations = scores.map(({ name, score }) => {
  2. if (score >= 60) {
  3. return ${name}同学得分${score},Very good,请继续努力!;
  4. } else {
  5. return ${name}同学得分${score},成绩太差,课后留下做作业!;
  6. }
  7. });
  8. console.log("4 案例: 对每位及格的同学进行鼓励,对不及格的同学进行鞭策");
  9. console.log(evaluations.join("\n"));

some()

对数组每一项都运行传入的函数,如果有一项函数返回true ,则这个方法返回 true 存在符合条件即可

  1. const isSome = scores.some(({ score }) => {
  2. return score === 100;
  3. });
  4. console.log("5 案例: 这回只要有人考试满分就不按钮假期作业了");
  5. console.log(isSome ? "你们很幸运" : "安排作业了");