小程序
小游戏
企业微信
微信支付
扫描小程序码分享
获取成绩>判断成绩>给出判断 判断成绩:①grade<75显示 X ②75<=grade<80显示二等 ③80<=grade<=100显示一等 给出结论;(我的疑问在这,如何写代码比较有效) ①如果有一个不合格,则不符合奖学金申请条件 ②如果全为一等,则符合一等奖学金 ③如果有一个是三等,其他不是不合格,则为三等 ④如果有一个是二等,其他是一等或者二等,则二等 上面表述没有问题,但是按照这种表述写代码肯定是复杂化代码了,请问怎么写代码比较高效?判断时不会出错?谢谢!
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
// 题目里好像没看到三等奖的判断规则 // 看题干的四条规则,似乎可以归纳为:最终等级取决于最差的那一级 // 所以把最差的那一级找出来返回 const gradeList = ['不合格', '三等奖', '二等奖', '一等奖']; const getLevel = (grade) => { if (grade < 75) return 0; if (grade >= 75 && grade < 80) return 1; if (grade >= 80 && grade < 100) return 2; if (grade >= 100) return 3; }; const judge = (gradeList) => { let level = 3; // 这里可以优化,如果有不合格的可以直接中止 gradeList.forEach((grade) => { level = Math.min(level, getLevel(grade)); }); return gradeList[level]; };
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
// 题目里好像没看到三等奖的判断规则 // 看题干的四条规则,似乎可以归纳为:最终等级取决于最差的那一级 // 所以把最差的那一级找出来返回 const gradeList = ['不合格', '三等奖', '二等奖', '一等奖']; const getLevel = (grade) => { if (grade < 75) return 0; if (grade >= 75 && grade < 80) return 1; if (grade >= 80 && grade < 100) return 2; if (grade >= 100) return 3; }; const judge = (gradeList) => { let level = 3; // 这里可以优化,如果有不合格的可以直接中止 gradeList.forEach((grade) => { level = Math.min(level, getLevel(grade)); }); return gradeList[level]; };