Вот несколько методов, которые вы можете использовать для оценки решений учащихся HackerRank на JavaScript, а также примеры кода:
Метод 1. Использование операторов if-else
function gradeStudents(scores) {
let grades = [];
for (let i = 0; i < scores.length; i++) {
let score = scores[i];
if (score >= 90) {
grades.push('A');
} else if (score >= 80) {
grades.push('B');
} else if (score >= 70) {
grades.push('C');
} else if (score >= 60) {
grades.push('D');
} else {
grades.push('F');
}
}
return grades;
}
const studentScores = [85, 92, 78, 60, 45];
const studentGrades = gradeStudents(studentScores);
console.log(studentGrades); // Output: ['B', 'A', 'C', 'D', 'F']
Метод 2. Использование оператора switch
function gradeStudents(scores) {
let grades = [];
for (let i = 0; i < scores.length; i++) {
let score = scores[i];
switch (true) {
case score >= 90:
grades.push('A');
break;
case score >= 80:
grades.push('B');
break;
case score >= 70:
grades.push('C');
break;
case score >= 60:
grades.push('D');
break;
default:
grades.push('F');
break;
}
}
return grades;
}
const studentScores = [85, 92, 78, 60, 45];
const studentGrades = gradeStudents(studentScores);
console.log(studentGrades); // Output: ['B', 'A', 'C', 'D', 'F']
Метод 3. Использование функции карты
function gradeStudents(scores) {
return scores.map((score) => {
if (score >= 90) {
return 'A';
} else if (score >= 80) {
return 'B';
} else if (score >= 70) {
return 'C';
} else if (score >= 60) {
return 'D';
} else {
return 'F';
}
});
}
const studentScores = [85, 92, 78, 60, 45];
const studentGrades = gradeStudents(studentScores);
console.log(studentGrades); // Output: ['B', 'A', 'C', 'D', 'F']
Метод 4. Использование тернарного оператора
function gradeStudents(scores) {
return scores.map((score) =>
score >= 90 ? 'A' :
score >= 80 ? 'B' :
score >= 70 ? 'C' :
score >= 60 ? 'D' :
'F'
);
}
const studentScores = [85, 92, 78, 60, 45];
const studentGrades = gradeStudents(studentScores);
console.log(studentGrades); // Output: ['B', 'A', 'C', 'D', 'F']