成绩分类,不能用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)