[英]Grading Students Hackerrank challenge return expected?
任何熟悉Hackerrank上的学生评分挑战的人,请帮助我理解为什么这段代码没有通过。
function gradingStudents(grades) {
let args = [...arguments];
const round5 = (x) => {
return Math.ceil(x / 5) * 5;
}
for (let i = 1; i < args.length; i++) {
if (round5(args[i]) - args[i] < 3 && args[i] >= 38) {
args[i] = round5(args[i])
}
}
args.shift()
return args.join('\n') + '\n'
//return args
//return args.join(' ')
}
我正在失去理智。 我尝试了各种回报,但都没有奏效。
看起来您认为学生人数和成绩都被传递给gradingStudents
函数,但实际上只传递了一个参数,即包含grades
的数组。
因此,无需使用arguments
,您可以直接使用grades
数组。 而且你只需要从函数中返回更新的成绩数组,你不需要担心输出格式。
function gradingStudents(grades) { const round5 = (x) => { return Math.ceil(x / 5) * 5; }; for (let i = 0; i < grades.length; i++) { if (round5(grades[i]) - grades[i] < 3 && grades[i] >= 38) { grades[i] = round5(grades[i]); } } return grades; } console.log(gradingStudents([73, 67, 38, 33]));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.