这是用JavaScript实现的一个简单的分级程序。不幸的是,它对我提供的所有输入都返回了undefined。
const finalGrade = (homework, midterm, final) => {
if ((midterm < 0 || midterm > 100) || (final < 0 || final > 100) || (homework < 0 || homework > 100)) {
return "A value is out of bounds";
}
const average = (homework + midterm + final)/3;
switch (average){
case (average < 60):return 'F';break;
case (average < 70):return 'D';break;
case (average < 80):return 'C';break;
case (average < 90):return 'B';break;
case (average < 101):return 'A';break;
default: "You have entered an invalid grade.";
}
};
console.log(finalGrade(99, 92, 95)) // Should print 'A'
你不能使用 switch ... case
这样(见对你问题的评论)。您可以使用 ternary
以返回所需的结果。
const finalGrade = (homework, midterm, final) => {
if ((midterm < 0 || midterm > 100) ||
(final < 0 || final > 100) ||
(homework < 0 || homework > 100)) {
return "A value is out of bounds";
}
const average = (homework + midterm + final)/3;
return average < 60 ? "D" :
average < 80 ? "C" :
average < 90 ? "B" :
average < 101 ? "A" : "You have entered an invalid grade.";
};
console.log(finalGrade(99, 92, 95)) // Should print 'A'
console.log(finalGrade(20, 12, 20)) // Should print 'D'
.as-console-wrapper { top: 0; max-height: 100% !important; }