You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HackerRank Grading Students题JS代码无法通过测试原因排查

Grading Students 题目代码报错原因分析

你的代码无法通过测试有两个核心问题,和返回值格式无关:

  • 入参读取逻辑完全错误
    HackerRank的JS运行环境中,gradingStudents函数只接收一个参数:就是所有待处理成绩组成的数组。你使用[...arguments]展开参数后,得到的数组只有1个元素——就是这个成绩数组本身。后续你从索引i=1开始循环,根本遍历不到任何有效成绩,所有四舍五入的逻辑完全没有执行。后续的args.shift()操作更是直接把唯一的成绩数组元素删掉了,最后返回的永远是空值。
  • 返回值不符合题目要求
    题目明确要求函数返回处理后的整数数组,不需要手动拼接换行符、空格或者额外的末尾换行。你注释里写的return args逻辑方向是对的,但因为前面入参读错,返回的内容从根源上就是错的,不管怎么调整返回格式都不可能通过用例。

修正后的可运行代码

function gradingStudents(grades) {
  const round5 = (x) => Math.ceil(x / 5) * 5;
  return grades.map(grade => {
    // 低于38分直接返回原成绩,不做进位
    if (grade < 38) return grade;
    const nextMultiple = round5(grade);
    return nextMultiple - grade < 3 ? nextMultiple : grade;
  })
}

内容的提问来源于stack exchange,提问作者Ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 07:12:28