数据准备: 成绩数组
const scores = [{ name: "张三", age: 17, score: 100 },{ name: "李四", age: 19, score: 85 },{ name: "王五", age: 23, score: 93 },{ name: "赵六", age: 12, score: 72 },{ name: "小红", age: 11, score: 59 },{ name: "小明", age: 32, score: 96 },{ name: "小刘", age: 45, score: 60 },{ name: "小张", age: 14, score: 87 },];
every()
对数组每一项都运行传入的函数,如果对每一项函数都返回 true ,则这个方法返回 true 必须全部符合
const isEvery = scores.every(({ score }) => {return score >= 60;});console.log("1 案例: 同学们这次考试如果全部及格(全部大于等于60分)的话就没有假期作业");console.log(isEvery ? "恭喜恭喜,假期愉快" : "很遗憾,有同学不及格");
filter()
对数组每一项都运行传入的函数,函数返回 true 的项会组成数组之后返回 条件过滤
const excellentStudents = scores.filter(({ score }) => {return score > 80;});console.log("2 案例: 这次考试关乎每个人,高于80分的需要分的同学将被分配到优秀班级");excellentStudents.forEach(({ name, score }) =>console.log(${name},${score}分,恭喜));
forEach()
对数组每一项都运行传入的函数,没有返回值 迭代查看
console.log("3 案例: 来来来,宣读成绩了");scores.forEach(({ name, score }) => {console.log(${name},${score}分,恭喜);});
map()
对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组 调整对象格式
const evaluations = scores.map(({ name, score }) => {if (score >= 60) {return ${name}同学得分${score},Very good,请继续努力!;} else {return ${name}同学得分${score},成绩太差,课后留下做作业!;}});console.log("4 案例: 对每位及格的同学进行鼓励,对不及格的同学进行鞭策");console.log(evaluations.join("\n"));
some()
对数组每一项都运行传入的函数,如果有一项函数返回true ,则这个方法返回 true 存在符合条件即可
const isSome = scores.some(({ score }) => {return score === 100;});console.log("5 案例: 这回只要有人考试满分就不按钮假期作业了");console.log(isSome ? "你们很幸运" : "安排作业了");
