Оценка решений HackerRank студентов в JavaScript: методы и примеры кода

Вот несколько методов, которые вы можете использовать для оценки решений учащихся 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']