我的JavaScript代码出错

我的JavaScript代码出错,javascript,Javascript,我最近问了这个问题,我的代码就快到了。我正在创建一个函数,它返回一个字符串,表示与给定分数对应的字母等级 Notes: * (100 - 90) --> 'A' * (89 - 80) --> 'B' * (79 - 70) --> 'C' * (69 - 60) --> 'D' * (59 - 0) --> 'F' 如果给定分数大于100或小于0,则应返回“无效分数” 如果分数在给定范围的0和2(含)之间,则返回带“-”的字母 如果分数在给定范围的8

我最近问了这个问题,我的代码就快到了。我正在创建一个函数,它返回一个字符串,表示与给定分数对应的字母等级

Notes:
* (100 - 90) --> 'A'
* (89  - 80) --> 'B'
* (79  - 70) --> 'C'
* (69  - 60) --> 'D'
* (59  -  0) --> 'F'
  • 如果给定分数大于100或小于0,则应返回“无效分数”

  • 如果分数在给定范围的0和2(含)之间,则返回带“-”的字母

  • 如果分数在给定范围的8到9(含8到9)之间,则返回带有“+”的字母

  • 没有F+也没有F-

现在我有这个:

function convertScoreToGradeWithPlusAndMinus(score) {
  var fscore;

  switch(true) {
    case (score <= 100 && score >= 90):
       fscore = 'A';
        break;
    case (score <= 89 && score >= 80):
        fscore = 'B';
         break;
    case (score <= 79 && score >= 70):
        fscore = 'C';
         break;
       case (score <= 69 && score >= 60):
        fscore = 'D';
         break;
    case (score <= 59 && score >= 0):
        fscore = 'F';
        break;

    case (score > 100 && score < 0):
        fscore = 'INVALID SCORE';
        break; 

    default:
      return 'INVALID SCORE';
  }

  var last_digit = score%10;
  if(last_digit <=2 && last_digit >= 0 && score != 100){
    fscore+='-';
  }
  else{
    fscore+='+';
  }

  return fscore;
}

var output = convertScoreToGradeWithPlusAndMinus(91);
console.log(output); // --> 'A-'
函数转换ScoreToGradeWithplus和减号(分数){
var-fscore;
开关(真){
病例(得分=90分):
fscore='A';
打破
病例(得分=80):
fscore='B';
打破
病例(得分=70):
fscore='C';
打破
病例(得分=60分):
fscore='D';
打破
案例(得分=0):
fscore='F';
打破
病例(评分>100分和评分<0分):
fscore='无效分数';
打破
违约:
返回“无效分数”;
}
var最后一位=分数%10;
如果(最后一位数字=0&&score!=100){
fscore+='-';
}
否则{
fscore+='+';
}
返回fscore;
}
var输出=convertScoreToGradeWithPlusAndMinus(91);
console.log(输出);//-->A-'
这段代码几乎就在那里,只是它向我显示了ff问题:


  • 如果分数在93到97之间,则应返回“A”
    • 如果分数在83到87之间,则应返回“B”
    • 对于73到77之间的分数,应返回“C”
    • 如果分数在63到67之间,则应返回“D”
    • 如果分数在0到59之间,则应返回“F”
我真的被这件事困住了,我想知道我错过了什么来澄清这件事


请帮忙

您缺少
的第二部分,如果
。现在,如果不添加
-
,您将始终附加
+

函数转换ScoreToGradeWithplus和减号(分数){
var-fscore;
开关(真){
病例(得分=90分):
fscore='A';
打破
病例(得分=80):
fscore='B';
打破
病例(得分=70):
fscore='C';
打破
病例(得分=60分):
fscore='D';
打破
案例(得分=0):
fscore='F';
打破
病例(评分>100分和评分<0分):
fscore='无效分数';
打破
违约:
返回“无效分数”;
}
如果(分数=60){
var最后一位=分数%10;
如果(最后一位=8分=100分){
fscore+='+';
}
}
返回fscore;
}
log(convertscoretogradeowithplusandmission(91),'A-');
console.log(convertscoretogradewithplusandmission(94),'A');
log(convertscoretogradewithplusandmission(100),'A+');
log(convertscoretogradeowithplusandmission(81),'B-');
console.log(convertscoretogradeowithplusandmission(84),'B');
console.log(convertscoretogradeowithplusandmission(88),'B+');
log(convertscoretogradewithplusandmission(71),'C-');
console.log(convertscoretogradewithplusandmission(74),'C');
log(convertscoretogradeowithplusandmission(78),'C+');
console.log(convertscoretogradeowithplusandmission(61),'D-');
log(convertscoretogradewithplusandmission(64),'D');
console.log(convertscoretogradeowithplusandmission(68),'D+');
console.log(convertscoretogradewithplusandmission(31),'F');
console.log(convertscoretogradeowithplusandmission(50),'F');

console.log(convertscoretogradeowithplusandmission(59),'F')但您的代码正在工作。如果分数在93和97之间,则返回“A-”应返回“A”,如果分数在98和97之间,则应返回A加上一个加号100@JamesHedegon现在检查