Создание функции, которая считает совпадения в 2 массивах. (Javascript) - PullRequest
1 голос
/ 15 апреля 2020

Я пытаюсь создать функцию, которая оценивает студенческие работы и возвращает оценку. Для этого я попытался добавить al oop в функцию, которая сравнивает studentAnswers с teacherCopy.length, и добавил пустую переменную, score = 0. Я хочу, чтобы оценка увеличивалась на 1 каждый раз, когда studentAnswers [i] === teacherCopy [ я]. Я пытался использовать логическое значение, но я не могу понять это правильно, вот что я получил:

function gradeQuiz(studentAnswers, teacherAnswers)
{
  let score= 0
  for (let i=0; i<teacherAnswers.length; i++)
    if (studentAnswers[i]==teachersAnswers[i])
    {
      score= ++
    }
    return score
}
gradeQuiz(['C', 'D', 'B'],['C', 'A', 'B'])

Где я иду не так?

Ответы [ 3 ]

2 голосов
/ 15 апреля 2020

На самом деле в вашем коде есть несколько ошибок.

  1. score++ написано неправильно.
  2. teachersAnswers написано с ошибкой.

Вы можете проверить мое решение.

function gradeQuiz(studentAnswers, teacherAnswers)
{
  let score= 0
  for (let i=0; i<teacherAnswers.length; i++) {
    if (studentAnswers[i] === teacherAnswers[i])
    {
      score++
    }
  }
  return score
}
console.log(gradeQuiz(['C', 'D', 'B'],['C', 'A', 'B']))
2 голосов
/ 15 апреля 2020

У вас есть несколько синтаксических ошибок здесь:

function gradeQuiz(studentAnswers, teacherAnswers){
  let score = 0;
  for (let i=0; i<teacherAnswers.length; i++){    // include open brace
    if (studentAnswers[i] == teacherAnswers[i]){  // typo, should be "teacherAnswers"
      score ++;                                   // =++ should just be ++
    }
   }                                              // close brace
   return score;
}
gradeQuiz(['C', 'D', 'B'],['C', 'A', 'B']);

В будущем попробуйте поискать в консоли вашего браузера. Ошибки, такие как отсутствующие скобки или опечатки в именах переменных, легко обнаружить с помощью сообщений об ошибках консоли.

0 голосов
/ 15 апреля 2020

Дополняя комментарий Саджиба, делайте счет ++ вместо счета = ++ (это недопустимое выражение). Если вы хотите, вы также можете сделать счет + = 1. Кроме того, параметр - teacherAnswers, и вы написали отклики teacherAnswers. Как

    function gradeQuiz(studentAnswers, teacherAnswers)
    {
       var score= 0
       for (let i=0; i<teacherAnswers.length; i++) {
         if (studentAnswers[i]==teacherAnswers[i])
        {
          score++
        }
    }
         return score
   }

    console.log(gradeQuiz(['a', 'b', 'c'], ['a', 'b', 'c']))

Надеюсь, я помог!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...