任何熟悉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(' ')
}
我正在失去理智。我嘗試了各種回報,但都沒有奏效。
uj5u.com熱心網友回復:
看起來您認為學生人數和成績都被傳遞給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]));
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/492226.html
標籤:javascript
上一篇:默認擴展音量
