成绩分类,不能用if和swich
解决思路:可以获得成绩的十位数然后放到映射里判断返回一个等级
| 成绩 | 等级 |
|---|---|
| 100-90 | 优秀 |
| 90-80 | 良好 |
| 80-70 | 一般 |
| 70-60 | 及格 |
| 60以下 | 差 |
// 成绩判断
function getGrade(type) {
const obj = {
10:'优秀',
9:'优秀',
8:'良好',
7:'一般',
6:'及格'
}
type =parseInt(type/10)
return obj[type] || '差'
}
console.log(getGrade(77)); //一般
console.log(getGrade(100)); //优秀
console.log(getGrade(51.9)); //差
console.log(getGrade(0)); //差
console.log(getGrade(-10)); //差
其次可以使用map代替对象来做映射,好处是map的键可以是任何值,而对象的键只能是字符串或者符号,同时可以用size拿到map的键值对的数量
const maps = new Map([
[a:'aa'],
[b:'bb'],
[c:'cc'],
])
const answer = maps.get(type)
5111

被折叠的 条评论
为什么被折叠?



